fixes after database profiler/logger refactor
This commit is contained in:
@@ -68,9 +68,7 @@ func Configure() *cli.Config {
|
||||
return err
|
||||
}
|
||||
|
||||
db = db.With(ctx)
|
||||
// Disable profiler for migrations
|
||||
db.Profiler = nil
|
||||
db = db.With(ctx).Quiet()
|
||||
|
||||
return migrate.Migrate(db, c.Log)
|
||||
},
|
||||
|
||||
@@ -8,11 +8,14 @@ import (
|
||||
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
"github.com/titpetric/factory"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
)
|
||||
|
||||
func TestMigrations(t *testing.T) {
|
||||
factory.Database.Add("compose", os.Getenv("COMPOSE_DB_DSN"))
|
||||
db := factory.Database.MustGet("compose")
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
if err := Migrate(db, logger.Default()); err != nil {
|
||||
t.Fatalf("Unexpected error: %+v", err)
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@ package repository
|
||||
import (
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/titpetric/factory"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
)
|
||||
@@ -17,37 +17,7 @@ func TestMain(m *testing.M) {
|
||||
|
||||
factory.Database.Add("compose", os.Getenv("COMPOSE_DB_DSN"))
|
||||
db := factory.Database.MustGet("compose")
|
||||
db.Profiler = &factory.DatabaseProfilerStdout{}
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
os.Exit(m.Run())
|
||||
}
|
||||
|
||||
// zapProfiler logs query statistics to zap.logger
|
||||
type (
|
||||
testLogProfiler struct {
|
||||
logger testProfilerLogger
|
||||
}
|
||||
|
||||
testProfilerLogger interface {
|
||||
Logf(format string, args ...interface{})
|
||||
}
|
||||
)
|
||||
|
||||
func newTestLogProfiler(logger testProfilerLogger) *testLogProfiler {
|
||||
return &testLogProfiler{
|
||||
logger: logger,
|
||||
}
|
||||
}
|
||||
|
||||
// Post prints the query statistics to stdout
|
||||
func (p testLogProfiler) Post(c *factory.DatabaseProfilerContext) {
|
||||
p.logger.Logf(
|
||||
"%s\nArgs: %v\nDuration: %fs",
|
||||
c.Query,
|
||||
c.Args,
|
||||
time.Since(c.Time).Seconds(),
|
||||
)
|
||||
}
|
||||
|
||||
// Flush stdout (no-op for this profiler)
|
||||
func (testLogProfiler) Flush() {}
|
||||
|
||||
@@ -31,16 +31,9 @@ func tx(t *testing.T, f func(context.Context, *factory.DB, *types.Namespace) err
|
||||
ns, err = Namespace(ctx, db).Create(&types.Namespace{})
|
||||
test.Assert(t, err == nil, "Test transaction setup (namespace creation) resulted in an error: %+v", err)
|
||||
|
||||
// Setup test log profiler and route all db logs to test log facility
|
||||
// We do this right after transaction is started and setup is done, no need for extra queries there...
|
||||
db.Profiler = newTestLogProfiler(t)
|
||||
|
||||
err = f(ctx, db, ns)
|
||||
test.Assert(t, err == nil, "Test transaction resulted in an error: %+v", err)
|
||||
|
||||
// Remove profiler to omit final rollback statement in the logs
|
||||
db.Profiler = nil
|
||||
|
||||
err = db.Rollback()
|
||||
err = db.Quiet().Rollback()
|
||||
test.Assert(t, err == nil, "Could not rollback transaction: %+v", err)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/titpetric/factory"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/internal/auth"
|
||||
@@ -15,8 +14,6 @@ import (
|
||||
)
|
||||
|
||||
func TestChart(t *testing.T) {
|
||||
factory.Database.MustGet("compose").Profiler = newTestLogProfiler(t)
|
||||
|
||||
ctx := context.WithValue(context.Background(), "testing", true)
|
||||
|
||||
// Set Identity (required for permission checks).
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/titpetric/factory"
|
||||
"go.uber.org/zap"
|
||||
@@ -16,6 +15,7 @@ import (
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/internal/test"
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
)
|
||||
|
||||
type (
|
||||
@@ -29,7 +29,7 @@ func TestMain(m *testing.M) {
|
||||
|
||||
factory.Database.Add("compose", os.Getenv("COMPOSE_DB_DSN"))
|
||||
db := factory.Database.MustGet("compose")
|
||||
db.Profiler = &factory.DatabaseProfilerStdout{}
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
// migrate database schema
|
||||
if err := composeMigrate.Migrate(db, logger.Default()); err != nil {
|
||||
@@ -76,33 +76,3 @@ func createTestNamespaces(ctx context.Context, t *testing.T) (ns1 *types.Namespa
|
||||
|
||||
return ns1, ns2
|
||||
}
|
||||
|
||||
// zapProfiler logs query statistics to zap.logger
|
||||
type (
|
||||
testLogProfiler struct {
|
||||
logger testProfilerLogger
|
||||
}
|
||||
|
||||
testProfilerLogger interface {
|
||||
Logf(format string, args ...interface{})
|
||||
}
|
||||
)
|
||||
|
||||
func newTestLogProfiler(logger testProfilerLogger) *testLogProfiler {
|
||||
return &testLogProfiler{
|
||||
logger: logger,
|
||||
}
|
||||
}
|
||||
|
||||
// Post prints the query statistics to stdout
|
||||
func (p testLogProfiler) Post(c *factory.DatabaseProfilerContext) {
|
||||
p.logger.Logf(
|
||||
"%s\nArgs: %v\nDuration: %fs",
|
||||
c.Query,
|
||||
c.Args,
|
||||
time.Since(c.Time).Seconds(),
|
||||
)
|
||||
}
|
||||
|
||||
// Flush stdout (no-op for this profiler)
|
||||
func (testLogProfiler) Flush() {}
|
||||
|
||||
@@ -6,16 +6,12 @@ import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/titpetric/factory"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/internal/auth"
|
||||
"github.com/cortezaproject/corteza-server/internal/test"
|
||||
)
|
||||
|
||||
func TestModule(t *testing.T) {
|
||||
factory.Database.MustGet("compose").Profiler = newTestLogProfiler(t)
|
||||
|
||||
ctx := context.WithValue(context.Background(), "testing", true)
|
||||
|
||||
// Set Identity (required for permission checks).
|
||||
|
||||
@@ -6,16 +6,12 @@ import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/titpetric/factory"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/internal/auth"
|
||||
"github.com/cortezaproject/corteza-server/internal/test"
|
||||
)
|
||||
|
||||
func TestNamespace(t *testing.T) {
|
||||
factory.Database.MustGet("compose").Profiler = newTestLogProfiler(t)
|
||||
|
||||
ctx := context.WithValue(context.Background(), "testing", true)
|
||||
|
||||
// Set Identity (required for permission checks).
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
|
||||
"github.com/davecgh/go-spew/spew"
|
||||
"github.com/pkg/errors"
|
||||
"github.com/titpetric/factory"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/internal/auth"
|
||||
@@ -16,8 +15,6 @@ import (
|
||||
)
|
||||
|
||||
func TestPage(t *testing.T) {
|
||||
factory.Database.MustGet("compose").Profiler = newTestLogProfiler(t)
|
||||
|
||||
ctx := context.WithValue(context.Background(), "testing", true)
|
||||
|
||||
// Set fake Identity (required for permission checks).
|
||||
|
||||
@@ -6,8 +6,6 @@ import (
|
||||
"context"
|
||||
"testing"
|
||||
|
||||
"github.com/titpetric/factory"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/internal/auth"
|
||||
"github.com/cortezaproject/corteza-server/internal/permissions"
|
||||
@@ -15,8 +13,6 @@ import (
|
||||
)
|
||||
|
||||
func TestRecord(t *testing.T) {
|
||||
factory.Database.MustGet("compose").Profiler = newTestLogProfiler(t)
|
||||
|
||||
ctx := context.WithValue(context.Background(), "testing", true)
|
||||
|
||||
ctx = auth.SetIdentityToContext(ctx, auth.NewIdentity(1337))
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/titpetric/factory"
|
||||
|
||||
"github.com/cortezaproject/corteza-server/compose/types"
|
||||
"github.com/cortezaproject/corteza-server/internal/auth"
|
||||
@@ -15,8 +14,6 @@ import (
|
||||
)
|
||||
|
||||
func TestTrigger(t *testing.T) {
|
||||
factory.Database.MustGet("compose").Profiler = newTestLogProfiler(t)
|
||||
|
||||
ctx := context.WithValue(context.Background(), "testing", true)
|
||||
|
||||
// Set Identity (required for permission checks).
|
||||
|
||||
@@ -8,12 +8,14 @@ import (
|
||||
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
"github.com/titpetric/factory"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
)
|
||||
|
||||
func TestMigrations(t *testing.T) {
|
||||
factory.Database.Add("messaging", os.Getenv("MESSAGING_DB_DSN"))
|
||||
db := factory.Database.MustGet("messaging")
|
||||
db.Profiler = &factory.Database.ProfilerStdout
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
if err := Migrate(db, logger.Default()); err != nil {
|
||||
t.Fatalf("Unexpected error: %#v", err)
|
||||
}
|
||||
|
||||
@@ -11,12 +11,13 @@ import (
|
||||
|
||||
migrate "github.com/cortezaproject/corteza-server/messaging/db"
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
)
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
factory.Database.Add("messaging", os.Getenv("MESSAGING_DB_DSN"))
|
||||
db := factory.Database.MustGet("messaging")
|
||||
db.Profiler = &factory.Database.ProfilerStdout
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
// migrate database schema
|
||||
if err := migrate.Migrate(db, logger.Default()); err != nil {
|
||||
|
||||
@@ -24,6 +24,6 @@ func tx(t *testing.T, f func() error) {
|
||||
err = f()
|
||||
test.Assert(t, err == nil, "Test transaction resulted in an error: %+v", err)
|
||||
|
||||
err = db.Rollback()
|
||||
err = db.Quiet().Rollback()
|
||||
test.Assert(t, err == nil, "Could not rollback transaction: %+v", err)
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import (
|
||||
|
||||
messagingMigrate "github.com/cortezaproject/corteza-server/messaging/db"
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
)
|
||||
|
||||
type mockDB struct{}
|
||||
@@ -24,7 +25,7 @@ func TestMain(m *testing.M) {
|
||||
|
||||
factory.Database.Add("messaging", os.Getenv("MESSAGING_DB_DSN"))
|
||||
db := factory.Database.MustGet("messaging")
|
||||
db.Profiler = &factory.Database.ProfilerStdout
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
// migrate database schema
|
||||
if err := messagingMigrate.Migrate(db, logger.Default()); err != nil {
|
||||
|
||||
@@ -86,9 +86,7 @@ func Configure() *cli.Config {
|
||||
return err
|
||||
}
|
||||
|
||||
db = db.With(ctx)
|
||||
// Disable profiler for migrations
|
||||
db.Profiler = nil
|
||||
db = db.With(ctx).Quiet()
|
||||
|
||||
return migrate.Migrate(db, c.Log)
|
||||
},
|
||||
|
||||
@@ -8,12 +8,13 @@ import (
|
||||
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
"github.com/titpetric/factory"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
)
|
||||
|
||||
func TestMigrations(t *testing.T) {
|
||||
factory.Database.Add("system", os.Getenv("SYSTEM_DB_DSN"))
|
||||
db := factory.Database.MustGet("system")
|
||||
db.Profiler = &factory.Database.ProfilerStdout
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
if err := Migrate(db, logger.Default()); err != nil {
|
||||
t.Fatalf("Unexpected error: %#v", err)
|
||||
|
||||
@@ -11,12 +11,13 @@ import (
|
||||
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
systemMigrate "github.com/cortezaproject/corteza-server/system/db"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
)
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
factory.Database.Add("system", os.Getenv("SYSTEM_DB_DSN"))
|
||||
db := factory.Database.MustGet("system")
|
||||
db.Profiler = &factory.Database.ProfilerStdout
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
// migrate database schema
|
||||
if err := systemMigrate.Migrate(db, logger.Default()); err != nil {
|
||||
|
||||
@@ -24,6 +24,6 @@ func tx(t *testing.T, f func() error) {
|
||||
err = f()
|
||||
test.Assert(t, err == nil, "Test transaction resulted in an error: %+v", err)
|
||||
|
||||
err = db.Rollback()
|
||||
err = db.Quiet().Rollback()
|
||||
test.Assert(t, err == nil, "Could not rollback transaction: %+v", err)
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import (
|
||||
|
||||
"github.com/cortezaproject/corteza-server/pkg/logger"
|
||||
systemMigrate "github.com/cortezaproject/corteza-server/system/db"
|
||||
dbLogger "github.com/titpetric/factory/logger"
|
||||
)
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
@@ -18,7 +19,7 @@ func TestMain(m *testing.M) {
|
||||
|
||||
factory.Database.Add("system", os.Getenv("SYSTEM_DB_DSN"))
|
||||
db := factory.Database.MustGet("system")
|
||||
db.Profiler = &factory.Database.ProfilerStdout
|
||||
db.SetLogger(dbLogger.Default{})
|
||||
|
||||
// migrate database schema
|
||||
if err := systemMigrate.Migrate(db, logger.Default()); err != nil {
|
||||
|
||||
@@ -106,9 +106,7 @@ func Configure() *cli.Config {
|
||||
return err
|
||||
}
|
||||
|
||||
db = db.With(ctx)
|
||||
// Disable profiler for migrations
|
||||
db.Profiler = nil
|
||||
db = db.With(ctx).Quiet()
|
||||
|
||||
return migrate.Migrate(db, c.Log)
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user