Merged in feature/docinitialisation (pull request #41)

Queuing Changes and Cfg Testing

* staarting

* staarting

* startedpush

* note

* save

* mocking

* removederrs

* fixtests

* cleanuperrs

* newenvsetup

* preppingtests

* queue

* mmovetocfgpassunittests

* sortoutconfig

* passinginteg

* deps

* fixtests
This commit is contained in:
Michael McGuinness
2025-02-03 17:30:50 +00:00
parent 15adaebfcd
commit 7001ca854c
135 changed files with 3916 additions and 1523 deletions
+3 -2
View File
@@ -7,6 +7,7 @@ import (
"log/slog"
"path"
"queryorchestration/internal/serviceconfig"
"queryorchestration/internal/serviceconfig/database"
"github.com/golang-migrate/migrate/v4"
_ "github.com/golang-migrate/migrate/v4/database/postgres"
@@ -14,7 +15,7 @@ import (
_ "github.com/lib/pq"
)
func createDB(cfg serviceconfig.ConfigProvider) error {
func createDB(cfg database.ConfigProvider) error {
connStr := fmt.Sprintf("%s?%s", cfg.GetDBBaseURI(), cfg.GetDBOptsString())
db, err := sql.Open(cfg.GetDBDriver(), connStr)
@@ -32,7 +33,7 @@ func createDB(cfg serviceconfig.ConfigProvider) error {
return fmt.Errorf("error creating database: %v", err)
}
if !rs.Next() {
if rs.Next() {
slog.Info("database created", "name", cfg.GetDBName())
} else {
slog.Info("database already exists", "name", cfg.GetDBName())
+13 -18
View File
@@ -5,7 +5,6 @@ import (
"os"
"path"
"queryorchestration/internal/database/migrations"
"queryorchestration/internal/serviceconfig"
"queryorchestration/internal/test"
"testing"
@@ -18,34 +17,30 @@ func TestRunMigrations(t *testing.T) {
}
ctx := context.Background()
t.Setenv("BASE_PATH", path.Join(os.Getenv("PWD"), "../../.."))
cfg := &serviceconfig.BaseConfig{}
err := serviceconfig.InitializeConfig(cfg)
assert.Nil(t, err)
cfg := test.CreateBaseConfig()
cfg.BasePath = path.Join(os.Getenv("PWD"), "../../..")
_, cleanup := test.CreateDB(t, ctx, &test.CreateDatabaseConfig{
Cfg: cfg,
})
defer cleanup()
err = migrations.Run(ctx, cfg)
assert.Nil(t, err)
err := migrations.Run(ctx, cfg)
assert.NoError(t, err)
}
func TestRunMigrationsNoDB(t *testing.T) {
ctx := context.Background()
t.Setenv("DB_USER", "invalid_user")
t.Setenv("DB_PASS", "invalid_pass")
t.Setenv("DB_HOST", "invalid_host")
t.Setenv("DB_PORT", "5432")
t.Setenv("DB_NAME", "invalid_name")
t.Setenv("DB_NOSSL", "true")
t.Setenv("BASE_PATH", path.Join(os.Getenv("PWD"), "../../.."))
cfg := &serviceconfig.BaseConfig{}
err := serviceconfig.InitializeConfig(cfg)
assert.Nil(t, err)
cfg := test.CreateBaseConfig()
cfg.BasePath = path.Join(os.Getenv("PWD"), "../../..")
cfg.DBUser = "invalid_user"
cfg.DBSecret = "invalid_pass"
cfg.DBHost = "invalid_host"
cfg.DBPort = 5432
cfg.DBName = "invalid_name"
cfg.DBNoSSL = true
err = migrations.Run(ctx, cfg)
err := migrations.Run(ctx, cfg)
assert.Error(t, err)
}
@@ -1,18 +1,17 @@
package migrations
import (
"queryorchestration/internal/serviceconfig"
"queryorchestration/internal/serviceconfig/database"
"testing"
"github.com/stretchr/testify/assert"
)
func TestCreateDB(t *testing.T) {
t.Setenv("DB_HOST", "invalid_value")
cfg := &serviceconfig.BaseConfig{}
err := serviceconfig.InitializeConfig(cfg)
assert.Nil(t, err)
cfg := &database.DBConfig{
DBHost: "invalid_value",
}
err = createDB(cfg)
err := createDB(cfg)
assert.Error(t, err)
}