package subscriptiontestutils import ( "errors" "testing" "github.com/openmeterio/openmeter/openmeter/ent/db" "github.com/openmeterio/openmeter/openmeter/testutils" "github.com/openmeterio/openmeter/pkg/framework/entutils/entdriver" "github.com/openmeterio/openmeter/pkg/framework/pgdriver" ) type DBDeps struct { DBClient *db.Client EntDriver *entdriver.EntPostgresDriver PGDriver *pgdriver.Driver } func (d *DBDeps) Cleanup(t *testing.T) { var errs []error if err := d.DBClient.Close(); err != nil { errs = append(errs, err) } if err := d.EntDriver.Close(); err != nil { errs = append(errs, err) } if err := d.PGDriver.Close(); err != nil { errs = append(errs, err) } if len(errs) > 0 { t.Fatalf("failed to cleanup db deps: %v", errors.Join(errs...)) } } func SetupDBDeps(t *testing.T) *DBDeps { t.Helper() testdb := testutils.InitPostgresDB(t, testutils.PostgresDBStateAtlasMigrated) dbClient := testdb.EntDriver.Client() pgDriver := testdb.PGDriver entDriver := testdb.EntDriver return &DBDeps{ DBClient: dbClient, EntDriver: entDriver, PGDriver: pgDriver, } }