parent
535b1038d4
commit
85b3f90447
|
@ -5,7 +5,7 @@ import (
|
|||
"log/slog"
|
||||
"strings"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/migrations"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/migrations"
|
||||
"github.com/uptrace/bun/migrate"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
|
|
@ -6,11 +6,11 @@ import (
|
|||
"os"
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
"github.com/ory/dockertest/v3"
|
||||
)
|
||||
|
||||
var postgres *adaptertest.Postgres
|
||||
var postgres *buntest.Postgres
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
os.Exit(testMainWrapper(m))
|
||||
|
@ -30,7 +30,7 @@ func testMainWrapper(m *testing.M) int {
|
|||
return 1
|
||||
}
|
||||
|
||||
postgres, err = adaptertest.NewPostgres(pool)
|
||||
postgres, err = buntest.NewPostgres(pool)
|
||||
if err != nil {
|
||||
log.Println("couldn't construct adaptertest.Postgres:", err)
|
||||
return 1
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/internal/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"github.com/uptrace/bun"
|
||||
)
|
||||
|
|
|
@ -3,7 +3,7 @@ package adapter_test
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
)
|
||||
|
||||
func TestEnnoblementBunRepository_Postgres(t *testing.T) {
|
||||
|
@ -15,7 +15,7 @@ func TestEnnoblementBunRepository_Postgres(t *testing.T) {
|
|||
|
||||
testEnnoblementRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, postgres.NewBunDB(t))
|
||||
return newBunDBRepositories(t, postgres.NewDB(t))
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,6 @@ func TestEnnoblementBunRepository_SQLite(t *testing.T) {
|
|||
|
||||
testEnnoblementRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, adaptertest.NewBunDBSQLite(t))
|
||||
return newBunDBRepositories(t, buntest.NewSQLiteDB(t))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/internal/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"github.com/uptrace/bun"
|
||||
"github.com/uptrace/bun/dialect"
|
||||
|
|
|
@ -3,7 +3,7 @@ package adapter_test
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
)
|
||||
|
||||
func TestPlayerBunRepository_Postgres(t *testing.T) {
|
||||
|
@ -15,7 +15,7 @@ func TestPlayerBunRepository_Postgres(t *testing.T) {
|
|||
|
||||
testPlayerRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, postgres.NewBunDB(t))
|
||||
return newBunDBRepositories(t, postgres.NewDB(t))
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,6 @@ func TestPlayerBunRepository_SQLite(t *testing.T) {
|
|||
|
||||
testPlayerRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, adaptertest.NewBunDBSQLite(t))
|
||||
return newBunDBRepositories(t, buntest.NewSQLiteDB(t))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/internal/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"github.com/uptrace/bun"
|
||||
"github.com/uptrace/bun/dialect"
|
||||
|
|
|
@ -3,7 +3,7 @@ package adapter_test
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
)
|
||||
|
||||
func TestServerBunRepository_Postgres(t *testing.T) {
|
||||
|
@ -15,7 +15,7 @@ func TestServerBunRepository_Postgres(t *testing.T) {
|
|||
|
||||
testServerRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, postgres.NewBunDB(t))
|
||||
return newBunDBRepositories(t, postgres.NewDB(t))
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,6 @@ func TestServerBunRepository_SQLite(t *testing.T) {
|
|||
|
||||
testServerRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, adaptertest.NewBunDBSQLite(t))
|
||||
return newBunDBRepositories(t, buntest.NewSQLiteDB(t))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/internal/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"github.com/uptrace/bun"
|
||||
"github.com/uptrace/bun/dialect"
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/internal/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"github.com/uptrace/bun"
|
||||
)
|
||||
|
|
|
@ -3,7 +3,7 @@ package adapter_test
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
)
|
||||
|
||||
func TestTribeChangeBunRepository_Postgres(t *testing.T) {
|
||||
|
@ -15,7 +15,7 @@ func TestTribeChangeBunRepository_Postgres(t *testing.T) {
|
|||
|
||||
testTribeChangeRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, postgres.NewBunDB(t))
|
||||
return newBunDBRepositories(t, postgres.NewDB(t))
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,6 @@ func TestTribeChangeBunRepository_SQLite(t *testing.T) {
|
|||
|
||||
testTribeChangeRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, adaptertest.NewBunDBSQLite(t))
|
||||
return newBunDBRepositories(t, buntest.NewSQLiteDB(t))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package adapter_test
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
)
|
||||
|
||||
func TestTribeBunRepository_Postgres(t *testing.T) {
|
||||
|
@ -15,7 +15,7 @@ func TestTribeBunRepository_Postgres(t *testing.T) {
|
|||
|
||||
testTribeRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, postgres.NewBunDB(t))
|
||||
return newBunDBRepositories(t, postgres.NewDB(t))
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,6 @@ func TestTribeBunRepository_SQLite(t *testing.T) {
|
|||
|
||||
testTribeRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, adaptertest.NewBunDBSQLite(t))
|
||||
return newBunDBRepositories(t, buntest.NewSQLiteDB(t))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/internal/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"github.com/uptrace/bun"
|
||||
)
|
||||
|
|
|
@ -3,7 +3,7 @@ package adapter_test
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
)
|
||||
|
||||
func TestVersionBunRepository_Postgres(t *testing.T) {
|
||||
|
@ -15,7 +15,7 @@ func TestVersionBunRepository_Postgres(t *testing.T) {
|
|||
|
||||
testVersionRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, postgres.NewBunDB(t))
|
||||
return newBunDBRepositories(t, postgres.NewDB(t))
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,6 @@ func TestVersionBunRepository_SQLite(t *testing.T) {
|
|||
|
||||
testVersionRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, adaptertest.NewBunDBSQLite(t))
|
||||
return newBunDBRepositories(t, buntest.NewSQLiteDB(t))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
"fmt"
|
||||
"time"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/internal/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"github.com/uptrace/bun"
|
||||
"github.com/uptrace/bun/dialect"
|
||||
|
|
|
@ -3,7 +3,7 @@ package adapter_test
|
|||
import (
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
)
|
||||
|
||||
func TestVillageBunRepository_Postgres(t *testing.T) {
|
||||
|
@ -15,7 +15,7 @@ func TestVillageBunRepository_Postgres(t *testing.T) {
|
|||
|
||||
testVillageRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, postgres.NewBunDB(t))
|
||||
return newBunDBRepositories(t, postgres.NewDB(t))
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -24,6 +24,6 @@ func TestVillageBunRepository_SQLite(t *testing.T) {
|
|||
|
||||
testVillageRepository(t, func(t *testing.T) repositories {
|
||||
t.Helper()
|
||||
return newBunDBRepositories(t, adaptertest.NewBunDBSQLite(t))
|
||||
return newBunDBRepositories(t, buntest.NewSQLiteDB(t))
|
||||
})
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"github.com/uptrace/bun"
|
||||
)
|
||||
|
@ -67,7 +67,7 @@ type repositories struct {
|
|||
func newBunDBRepositories(tb testing.TB, bunDB *bun.DB) repositories {
|
||||
tb.Helper()
|
||||
|
||||
adaptertest.NewFixture(bunDB).Load(tb, context.Background(), os.DirFS("testdata"), "fixture.yml")
|
||||
buntest.NewFixture(bunDB).Load(tb, context.Background(), os.DirFS("testdata"), "fixture.yml")
|
||||
|
||||
return repositories{
|
||||
version: adapter.NewVersionBunRepository(bunDB),
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
package adaptertest
|
||||
package buntest
|
||||
|
||||
import (
|
||||
"context"
|
||||
"io/fs"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/internal/bunmodel"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/bunmodel"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/uptrace/bun"
|
||||
"github.com/uptrace/bun/dbfixture"
|
|
@ -1,4 +1,4 @@
|
|||
package adaptertest
|
||||
package buntest
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
|
@ -127,13 +127,13 @@ const (
|
|||
postgresPingBackOffMaxElapsedTime = 30 * time.Second
|
||||
)
|
||||
|
||||
// NewBunDB initializes a new instance of *bun.DB, which is ready for use (all required migrations are applied).
|
||||
// NewDB initializes a new instance of *bun.DB, which is ready for use (all required migrations are applied).
|
||||
// This method guarantees data separation through PostgresSQL schemas
|
||||
// (https://www.postgresql.org/docs/current/ddl-schemas.html)
|
||||
// and it is safe to call Postgres.NewBunDB multiple times.
|
||||
// and it is safe to call postgres.NewDB multiple times.
|
||||
//
|
||||
// It fails if Postgres hasn't been properly initialized (via NewPostgres).
|
||||
func (p *Postgres) NewBunDB(tb TestingTB) *bun.DB {
|
||||
func (p *Postgres) NewDB(tb TestingTB) *bun.DB {
|
||||
tb.Helper()
|
||||
|
||||
require.NotNil(tb, p, "postgres resource not property initialized")
|
|
@ -1,4 +1,4 @@
|
|||
package adaptertest
|
||||
package buntest
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
|
@ -9,9 +9,9 @@ import (
|
|||
"github.com/uptrace/bun/driver/sqliteshim"
|
||||
)
|
||||
|
||||
// NewBunDBSQLite initializes a new instance of *bun.DB, which is ready for use (all required migrations are applied).
|
||||
// NewSQLiteDB initializes a new instance of *bun.DB, which is ready for use (all required migrations are applied).
|
||||
// Data is stored in memory (https://www.sqlite.org/inmemorydb.html).
|
||||
func NewBunDBSQLite(tb TestingTB) *bun.DB {
|
||||
func NewSQLiteDB(tb TestingTB) *bun.DB {
|
||||
tb.Helper()
|
||||
|
||||
sqlDB, err := sql.Open(sqliteshim.ShimName, "file::memory:")
|
|
@ -1,4 +1,4 @@
|
|||
package adaptertest
|
||||
package buntest
|
||||
|
||||
// TestingTB is a subset of the API provided by both *testing.T and *testing.B.
|
||||
type TestingTB interface {
|
|
@ -1,4 +1,4 @@
|
|||
package adaptertest
|
||||
package buntest
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
@ -8,7 +8,7 @@ import (
|
|||
"os"
|
||||
"time"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/migrations"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/migrations"
|
||||
"github.com/cenkalti/backoff/v4"
|
||||
"github.com/ory/dockertest/v3"
|
||||
"github.com/stretchr/testify/require"
|
|
@ -10,11 +10,11 @@ import (
|
|||
var migrations = migrate.NewMigrations()
|
||||
|
||||
func NewMigrator(db *bun.DB, opts ...migrate.MigratorOption) *migrate.Migrator {
|
||||
return migrate.NewMigrator(
|
||||
db.WithNamedArg("ID_COL", autoincrementIDColumn(db)),
|
||||
migrations,
|
||||
opts...,
|
||||
)
|
||||
// db isn't required in all cases (e.g. for creating migrations)
|
||||
if db != nil {
|
||||
db = db.WithNamedArg("ID_COL", autoincrementIDColumn(db))
|
||||
}
|
||||
return migrate.NewMigrator(db, migrations, opts...)
|
||||
}
|
||||
|
||||
type hasFeaturer interface {
|
|
@ -48,7 +48,7 @@ func TestDataSync(t *testing.T) {
|
|||
defer stop()
|
||||
|
||||
// bun
|
||||
db := postgres.NewBunDB(t)
|
||||
db := postgres.NewDB(t)
|
||||
|
||||
// watermill
|
||||
marshaler := watermillmsg.JSONMarshaler{NewUUID: watermill.NewUUID}
|
||||
|
|
|
@ -16,8 +16,8 @@ import (
|
|||
"time"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/app"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/domain"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/port"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/tw"
|
||||
|
@ -48,8 +48,8 @@ func TestEnnoblementSync(t *testing.T) {
|
|||
defer stop()
|
||||
|
||||
// bun
|
||||
db := postgres.NewBunDB(t)
|
||||
adaptertest.NewFixture(db).Load(t, ctx, os.DirFS("./testdata/ennoblementsync"), "fixture.yml")
|
||||
db := postgres.NewDB(t)
|
||||
buntest.NewFixture(db).Load(t, ctx, os.DirFS("./testdata/ennoblementsync"), "fixture.yml")
|
||||
|
||||
// watermill
|
||||
marshaler := watermillmsg.JSONMarshaler{NewUUID: watermill.NewUUID}
|
||||
|
|
|
@ -6,13 +6,13 @@ import (
|
|||
"os"
|
||||
"testing"
|
||||
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/adapter/adaptertest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/bun/buntest"
|
||||
"gitea.dwysokinski.me/twhelp/corev3/internal/watermill/watermillamqptest"
|
||||
"github.com/ory/dockertest/v3"
|
||||
)
|
||||
|
||||
var (
|
||||
postgres *adaptertest.Postgres
|
||||
postgres *buntest.Postgres
|
||||
rabbitMQ *watermillamqptest.RabbitMQ
|
||||
)
|
||||
|
||||
|
@ -34,7 +34,7 @@ func testMainWrapper(m *testing.M) int {
|
|||
return 1
|
||||
}
|
||||
|
||||
postgres, err = adaptertest.NewPostgres(pool, adaptertest.WithPostgresTTL(180))
|
||||
postgres, err = buntest.NewPostgres(pool, buntest.WithPostgresTTL(180))
|
||||
if err != nil {
|
||||
log.Println("couldn't construct adaptertest.Postgres:", err)
|
||||
return 1
|
||||
|
|
Loading…
Reference in New Issue