Documentation
¶
Index ¶
- Variables
- type ByID
- type Database
- type DatabaseConfig
- type 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
- type TemplateDatabase
- type TestDatabase
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrManagerNotReady = errors.New("manager not ready") ErrTemplateAlreadyInitialized = errors.New("template is already initialized") ErrTemplateNotFound = errors.New("template not found") ErrTestNotFound = errors.New("test database not found") )
View Source
var ErrDatabaseDiscarded = errors.New("ErrDatabaseDiscarded")
Functions ¶
This section is empty.
Types ¶
type ByID ¶
type ByID []*TestDatabase
type Database ¶
type Database struct {
sync.RWMutex `json:"-"`
TemplateHash string `json:"templateHash"`
Config DatabaseConfig `json:"config"`
// contains filtered or unexported fields
}
func (*Database) FlagAsDiscarded ¶
func (d *Database) FlagAsDiscarded()
func (*Database) FlagAsReady ¶
func (d *Database) FlagAsReady()
type DatabaseConfig ¶
type DatabaseConfig struct {
Host string `json:"host"`
Port int `json:"port"`
Username string `json:"username"`
Password string `json:"password"`
Database string `json:"database"`
AdditionalParams map[string]string `json:"additionalParams,omitempty"` // Optional additional connection parameters mapped into the connection string
}
func (DatabaseConfig) ConnectionString ¶
func (c DatabaseConfig) ConnectionString() string
Generates a connection string to be passed to sql.Open or equivalents, assuming Postgres syntax
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func DefaultFromEnv ¶
func DefaultFromEnv() *Manager
func New ¶
func New(config ManagerConfig) *Manager
func (*Manager) ClearTrackedTestDatabases ¶
func (*Manager) DiscardTemplateDatabase ¶
func (*Manager) Disconnect ¶
func (*Manager) FinalizeTemplateDatabase ¶
func (*Manager) GetTestDatabase ¶
func (*Manager) InitializeTemplateDatabase ¶
func (*Manager) ResetAllTracking ¶
type ManagerConfig ¶
type ManagerConfig struct {
ManagerDatabaseConfig DatabaseConfig
TemplateDatabaseTemplate string
DatabasePrefix string
TemplateDatabasePrefix string
TestDatabasePrefix string
TestDatabaseOwner string
TestDatabaseOwnerPassword string
TestDatabaseInitialPoolSize int
TestDatabaseMaxPoolSize int
}
func DefaultManagerConfigFromEnv ¶
func DefaultManagerConfigFromEnv() ManagerConfig
type TemplateDatabase ¶
type TemplateDatabase struct {
Database `json:"database"`
// contains filtered or unexported fields
}
type TestDatabase ¶
type TestDatabase struct {
Database `json:"database"`
ID int `json:"id"`
// contains filtered or unexported fields
}
func (*TestDatabase) Dirty ¶
func (t *TestDatabase) Dirty() bool
func (*TestDatabase) FlagAsClean ¶
func (t *TestDatabase) FlagAsClean()
func (*TestDatabase) FlagAsDirty ¶
func (t *TestDatabase) FlagAsDirty()
func (*TestDatabase) ReadyForTest ¶
func (t *TestDatabase) ReadyForTest() bool
Click to show internal directories.
Click to hide internal directories.