Documentation ¶
Overview ¶
Package testlib exposes helper methods for running unit tests against a containerized test store.
Index ¶
- func AssertLog(t *testing.T, logs io.Reader, level, message string)
- func AssertNoLog(t *testing.T, logs io.Reader, level, message string)
- func CopyFile(src, dst string) error
- func GetMockStoreForSetupFunctions() *mocks.Store
- func SetupTestResources() (string, error)
- type FakeClusterInterface
- func (c *FakeClusterInterface) ClearMessages()
- func (c *FakeClusterInterface) ConfigChanged(previousConfig *model.Config, newConfig *model.Config, sendToOtherServer bool) *model.AppError
- func (c *FakeClusterInterface) GetClusterId() string
- func (c *FakeClusterInterface) GetClusterInfos() []*model.ClusterInfo
- func (c *FakeClusterInterface) GetClusterStats() ([]*model.ClusterStats, *model.AppError)
- func (c *FakeClusterInterface) GetLogs(page, perPage int) ([]string, *model.AppError)
- func (c *FakeClusterInterface) GetMessages() []*model.ClusterMessage
- func (c *FakeClusterInterface) GetMyClusterInfo() *model.ClusterInfo
- func (c *FakeClusterInterface) GetPluginStatuses() (model.PluginStatuses, *model.AppError)
- func (c *FakeClusterInterface) HealthScore() int
- func (c *FakeClusterInterface) IsLeader() bool
- func (c *FakeClusterInterface) NotifyMsg(buf []byte)
- func (c *FakeClusterInterface) RegisterClusterMessageHandler(event model.ClusterEvent, crm einterfaces.ClusterMessageHandler)
- func (c *FakeClusterInterface) SelectMessages(filterCond func(message *model.ClusterMessage) bool) []*model.ClusterMessage
- func (c *FakeClusterInterface) SendClearRoleCacheMessage()
- func (c *FakeClusterInterface) SendClusterMessage(message *model.ClusterMessage)
- func (c *FakeClusterInterface) SendClusterMessageToNode(nodeID string, message *model.ClusterMessage) error
- func (c *FakeClusterInterface) StartInterNodeCommunication()
- func (c *FakeClusterInterface) StopInterNodeCommunication()
- type HelperOptions
- type MainHelper
- func (h *MainHelper) Close() error
- func (h *MainHelper) GetClusterInterface() *FakeClusterInterface
- func (h *MainHelper) GetSQLSettings() *model.SqlSettings
- func (h *MainHelper) GetSQLStore() *sqlstore.SqlStore
- func (h *MainHelper) GetSearchEngine() *searchengine.Broker
- func (h *MainHelper) GetStore() store.Store
- func (h *MainHelper) Main(m *testing.M)
- func (h *MainHelper) PreloadMigrations()
- func (h *MainHelper) SetReplicationLagForTesting(seconds int) error
- func (h *MainHelper) ToggleReplicasOff()
- func (h *MainHelper) ToggleReplicasOn()
- type TestStore
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AssertLog ¶
AssertLog asserts that a JSON-encoded buffer of logs contains one with the given level and message.
func AssertNoLog ¶
AssertNoLog asserts that a JSON-encoded buffer of logs does not contains one with the given level and message.
func SetupTestResources ¶
Types ¶
type FakeClusterInterface ¶
type FakeClusterInterface struct {
// contains filtered or unexported fields
}
func (*FakeClusterInterface) ClearMessages ¶
func (c *FakeClusterInterface) ClearMessages()
func (*FakeClusterInterface) ConfigChanged ¶
func (*FakeClusterInterface) GetClusterId ¶
func (c *FakeClusterInterface) GetClusterId() string
func (*FakeClusterInterface) GetClusterInfos ¶
func (c *FakeClusterInterface) GetClusterInfos() []*model.ClusterInfo
func (*FakeClusterInterface) GetClusterStats ¶
func (c *FakeClusterInterface) GetClusterStats() ([]*model.ClusterStats, *model.AppError)
func (*FakeClusterInterface) GetLogs ¶
func (c *FakeClusterInterface) GetLogs(page, perPage int) ([]string, *model.AppError)
func (*FakeClusterInterface) GetMessages ¶
func (c *FakeClusterInterface) GetMessages() []*model.ClusterMessage
func (*FakeClusterInterface) GetMyClusterInfo ¶
func (c *FakeClusterInterface) GetMyClusterInfo() *model.ClusterInfo
func (*FakeClusterInterface) GetPluginStatuses ¶
func (c *FakeClusterInterface) GetPluginStatuses() (model.PluginStatuses, *model.AppError)
func (*FakeClusterInterface) HealthScore ¶
func (c *FakeClusterInterface) HealthScore() int
func (*FakeClusterInterface) IsLeader ¶
func (c *FakeClusterInterface) IsLeader() bool
func (*FakeClusterInterface) NotifyMsg ¶
func (c *FakeClusterInterface) NotifyMsg(buf []byte)
func (*FakeClusterInterface) RegisterClusterMessageHandler ¶
func (c *FakeClusterInterface) RegisterClusterMessageHandler(event model.ClusterEvent, crm einterfaces.ClusterMessageHandler)
func (*FakeClusterInterface) SelectMessages ¶
func (c *FakeClusterInterface) SelectMessages(filterCond func(message *model.ClusterMessage) bool) []*model.ClusterMessage
func (*FakeClusterInterface) SendClearRoleCacheMessage ¶
func (c *FakeClusterInterface) SendClearRoleCacheMessage()
func (*FakeClusterInterface) SendClusterMessage ¶
func (c *FakeClusterInterface) SendClusterMessage(message *model.ClusterMessage)
func (*FakeClusterInterface) SendClusterMessageToNode ¶
func (c *FakeClusterInterface) SendClusterMessageToNode(nodeID string, message *model.ClusterMessage) error
func (*FakeClusterInterface) StartInterNodeCommunication ¶
func (c *FakeClusterInterface) StartInterNodeCommunication()
func (*FakeClusterInterface) StopInterNodeCommunication ¶
func (c *FakeClusterInterface) StopInterNodeCommunication()
type HelperOptions ¶
type MainHelper ¶
type MainHelper struct { Settings *model.SqlSettings Store store.Store SearchEngine *searchengine.Broker SQLStore *sqlstore.SqlStore ClusterInterface *FakeClusterInterface // contains filtered or unexported fields }
func NewMainHelper ¶
func NewMainHelper() *MainHelper
func NewMainHelperWithOptions ¶
func NewMainHelperWithOptions(options *HelperOptions) *MainHelper
func (*MainHelper) Close ¶
func (h *MainHelper) Close() error
func (*MainHelper) GetClusterInterface ¶
func (h *MainHelper) GetClusterInterface() *FakeClusterInterface
func (*MainHelper) GetSQLSettings ¶
func (h *MainHelper) GetSQLSettings() *model.SqlSettings
func (*MainHelper) GetSQLStore ¶
func (h *MainHelper) GetSQLStore() *sqlstore.SqlStore
func (*MainHelper) GetSearchEngine ¶
func (h *MainHelper) GetSearchEngine() *searchengine.Broker
func (*MainHelper) GetStore ¶
func (h *MainHelper) GetStore() store.Store
func (*MainHelper) Main ¶
func (h *MainHelper) Main(m *testing.M)
func (*MainHelper) PreloadMigrations ¶
func (h *MainHelper) PreloadMigrations()
PreloadMigrations preloads the migrations and roles into the database so that they are not run again when the migrations happen every time the server is started. This change is forward-compatible with new migrations and only new migrations will get executed. Only if the schema of either roles or systems table changes, this will break. In that case, just update the migrations or comment this out for the time being. In the worst case, only an optimization is lost.
Re-generate the files with: pg_dump -a -h localhost -U mmuser -d <> --no-comments --inserts -t roles -t systems mysqldump -u root -p <> --no-create-info --extended-insert=FALSE Systems Roles And keep only the permission related rows in the systems table output.
func (*MainHelper) SetReplicationLagForTesting ¶
func (h *MainHelper) SetReplicationLagForTesting(seconds int) error
func (*MainHelper) ToggleReplicasOff ¶
func (h *MainHelper) ToggleReplicasOff()
func (*MainHelper) ToggleReplicasOn ¶
func (h *MainHelper) ToggleReplicasOn()