Versions in this module Expand all Collapse all v1 v1.1.0 Jan 30, 2024 Changes in this version + var ErrInvalidTemplateState = errors.New("unexpected template state") + var ErrTemplateDiscarded = errors.New("template is discarded, can't be used") type Manager + func (m *Manager) RecreateTestDatabase(ctx context.Context, hash string, id int) error + func (m Manager) Config() ManagerConfig type ManagerConfig + PoolConfig pool.PoolConfig + TemplateFinalizeTimeout time.Duration + TestDatabaseGetTimeout time.Duration v1.0.0 May 15, 2020 Changes in this version + var ErrDatabaseDiscarded = errors.New("ErrDatabaseDiscarded") + var ErrManagerNotReady = errors.New("manager not ready") + var ErrTemplateAlreadyInitialized = errors.New("template is already initialized") + var ErrTemplateNotFound = errors.New("template not found") + var ErrTestNotFound = errors.New("test database not found") + type ByID []*TestDatabase + func (a ByID) Less(i, j int) bool + func (a ByID) Swap(i, j int) + func (i ByID) Len() int + type Database struct + Config DatabaseConfig + TemplateHash string + func (d *Database) FlagAsDiscarded() + func (d *Database) FlagAsReady() + func (d *Database) Ready() bool + func (d *Database) State() databaseState + func (d *Database) WaitUntilReady(ctx context.Context) error + type DatabaseConfig struct + AdditionalParams map[string]string + Database string + Host string + Password string + Port int + Username string + func (c DatabaseConfig) ConnectionString() string + type Manager struct + func DefaultFromEnv() *Manager + func New(config ManagerConfig) *Manager + func (m *Manager) ClearTrackedTestDatabases(hash string) error + func (m *Manager) Connect(ctx context.Context) error + func (m *Manager) DiscardTemplateDatabase(ctx context.Context, hash string) error + func (m *Manager) Disconnect(ctx context.Context, ignoreCloseError bool) error + func (m *Manager) FinalizeTemplateDatabase(ctx context.Context, hash string) (*TemplateDatabase, error) + func (m *Manager) GetTestDatabase(ctx context.Context, hash string) (*TestDatabase, error) + func (m *Manager) Initialize(ctx context.Context) error + func (m *Manager) InitializeTemplateDatabase(ctx context.Context, hash string) (*TemplateDatabase, error) + func (m *Manager) Ready() bool + func (m *Manager) Reconnect(ctx context.Context, ignoreDisconnectError bool) error + func (m *Manager) ResetAllTracking() error + func (m *Manager) ReturnTestDatabase(ctx context.Context, hash string, id int) error + type ManagerConfig struct + DatabasePrefix string + ManagerDatabaseConfig DatabaseConfig + TemplateDatabasePrefix string + TemplateDatabaseTemplate string + TestDatabaseInitialPoolSize int + TestDatabaseMaxPoolSize int + TestDatabaseOwner string + TestDatabaseOwnerPassword string + TestDatabasePrefix string + func DefaultManagerConfigFromEnv() ManagerConfig + type TemplateDatabase struct + type TestDatabase struct + ID int + func (t *TestDatabase) Dirty() bool + func (t *TestDatabase) FlagAsClean() + func (t *TestDatabase) FlagAsDirty() + func (t *TestDatabase) ReadyForTest() bool