Documentation
¶
Overview ¶
Package testlib exposes helper methods for running unit tests against a containerized test store.
Index ¶
- func AssertLog(t *testing.T, logs *bytes.Buffer, level, message string)
- func AssertNoLog(t *testing.T, logs *bytes.Buffer, 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 string, 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 ¶ added in v5.22.0
AssertLog asserts that a JSON-encoded buffer of logs contains one with the given level and message.
func AssertNoLog ¶ added in v5.23.0
AssertNoLog asserts that a JSON-encoded buffer of logs does not contains one with the given level and message.
func GetMockStoreForSetupFunctions ¶ added in v5.22.0
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 ¶ added in v5.26.0
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 string, crm einterfaces.ClusterMessageHandler)
func (*FakeClusterInterface) SelectMessages ¶ added in v5.35.0
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 ¶ added in v5.36.0
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 ¶ added in v5.22.0
func (h *MainHelper) GetSQLSettings() *model.SqlSettings
func (*MainHelper) GetSQLStore ¶ added in v5.32.0
func (h *MainHelper) GetSQLStore() *sqlstore.SqlStore
func (*MainHelper) GetSearchEngine ¶ added in v5.24.0
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 ¶ added in v5.30.0
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 ¶ added in v5.34.0
func (h *MainHelper) SetReplicationLagForTesting(seconds int) error
func (*MainHelper) ToggleReplicasOff ¶ added in v5.34.0
func (h *MainHelper) ToggleReplicasOff()
func (*MainHelper) ToggleReplicasOn ¶ added in v5.34.0
func (h *MainHelper) ToggleReplicasOn()