refactor: update project structure (#42)

Reviewed-on: twhelp/corev3#42
This commit is contained in:
Dawid Wysokiński 2024-01-14 10:04:17 +00:00
parent 535b1038d4
commit 85b3f90447
48 changed files with 58 additions and 58 deletions

View File

@ -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"
)

View File

@ -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

View File

@ -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"
)

View File

@ -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))
})
}

View File

@ -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"

View File

@ -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))
})
}

View File

@ -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"

View File

@ -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))
})
}

View File

@ -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"

View File

@ -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"
)

View File

@ -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))
})
}

View File

@ -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))
})
}

View File

@ -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"
)

View File

@ -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))
})
}

View File

@ -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"

View File

@ -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))
})
}

View File

@ -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),

View File

@ -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"

View File

@ -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")

View File

@ -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:")

View File

@ -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 {

View File

@ -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"

View File

@ -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 {

View File

@ -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}

View File

@ -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}

View File

@ -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