summaryrefslogtreecommitdiffstats
path: root/plugin/plugintest
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2018-05-15 13:33:47 -0700
committerGitHub <noreply@github.com>2018-05-15 13:33:47 -0700
commitdf6a7f8b19e2381ee57f946d5b184185653b2ee1 (patch)
tree622ff6b13b23bf4506ea41eb010141930e143815 /plugin/plugintest
parentfbbe1f7cefd52a27fd52893509b5365d275f9bee (diff)
downloadchat-df6a7f8b19e2381ee57f946d5b184185653b2ee1.tar.gz
chat-df6a7f8b19e2381ee57f946d5b184185653b2ee1.tar.bz2
chat-df6a7f8b19e2381ee57f946d5b184185653b2ee1.zip
MM-10249 Adding plugin ability to intercept posts before they reach the DB. (#8791)
* Adding plugin ability to intercept posts before they reach the DB. * s/envoked/invoked/
Diffstat (limited to 'plugin/plugintest')
-rw-r--r--plugin/plugintest/api.go834
-rw-r--r--plugin/plugintest/apioverride.go18
-rw-r--r--plugin/plugintest/hooks.go152
-rw-r--r--plugin/plugintest/key_value_store.go70
4 files changed, 807 insertions, 267 deletions
diff --git a/plugin/plugintest/api.go b/plugin/plugintest/api.go
index 8f9f4a604..f1281a5ff 100644
--- a/plugin/plugintest/api.go
+++ b/plugin/plugintest/api.go
@@ -1,344 +1,702 @@
-// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
+// Code generated by mockery v1.0.0. DO NOT EDIT.
-package plugintest
+// Regenerate this file using `make plugin-mocks`.
-import (
- "github.com/stretchr/testify/mock"
+package plugintest
- "github.com/mattermost/mattermost-server/model"
- "github.com/mattermost/mattermost-server/plugin"
-)
+import mock "github.com/stretchr/testify/mock"
+import model "github.com/mattermost/mattermost-server/model"
+import plugin "github.com/mattermost/mattermost-server/plugin"
-type API struct {
+// APIMOCKINTERNAL is an autogenerated mock type for the APIMOCKINTERNAL type
+type APIMOCKINTERNAL struct {
mock.Mock
- Store *KeyValueStore
}
-type KeyValueStore struct {
- mock.Mock
-}
+// AddChannelMember provides a mock function with given fields: channelId, userId
+func (_m *APIMOCKINTERNAL) AddChannelMember(channelId string, userId string) (*model.ChannelMember, *model.AppError) {
+ ret := _m.Called(channelId, userId)
-var _ plugin.API = (*API)(nil)
-var _ plugin.KeyValueStore = (*KeyValueStore)(nil)
+ var r0 *model.ChannelMember
+ if rf, ok := ret.Get(0).(func(string, string) *model.ChannelMember); ok {
+ r0 = rf(channelId, userId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.ChannelMember)
+ }
+ }
-func (m *API) LoadPluginConfiguration(dest interface{}) error {
- ret := m.Called(dest)
- if f, ok := ret.Get(0).(func(interface{}) error); ok {
- return f(dest)
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok {
+ r1 = rf(channelId, userId)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- return ret.Error(0)
+
+ return r0, r1
}
-func (m *API) RegisterCommand(command *model.Command) error {
- ret := m.Called(command)
- if f, ok := ret.Get(0).(func(*model.Command) error); ok {
- return f(command)
+// CreateChannel provides a mock function with given fields: channel
+func (_m *APIMOCKINTERNAL) CreateChannel(channel *model.Channel) (*model.Channel, *model.AppError) {
+ ret := _m.Called(channel)
+
+ var r0 *model.Channel
+ if rf, ok := ret.Get(0).(func(*model.Channel) *model.Channel); ok {
+ r0 = rf(channel)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Channel)
+ }
}
- return ret.Error(0)
-}
-func (m *API) UnregisterCommand(teamId, trigger string) error {
- ret := m.Called(teamId, trigger)
- if f, ok := ret.Get(0).(func(string, string) error); ok {
- return f(teamId, trigger)
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.Channel) *model.AppError); ok {
+ r1 = rf(channel)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- return ret.Error(0)
+
+ return r0, r1
}
-func (m *API) CreateUser(user *model.User) (*model.User, *model.AppError) {
- ret := m.Called(user)
- if f, ok := ret.Get(0).(func(*model.User) (*model.User, *model.AppError)); ok {
- return f(user)
+// CreatePost provides a mock function with given fields: post
+func (_m *APIMOCKINTERNAL) CreatePost(post *model.Post) (*model.Post, *model.AppError) {
+ ret := _m.Called(post)
+
+ var r0 *model.Post
+ if rf, ok := ret.Get(0).(func(*model.Post) *model.Post); ok {
+ r0 = rf(post)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Post)
+ }
}
- userOut, _ := ret.Get(0).(*model.User)
- err, _ := ret.Get(1).(*model.AppError)
- return userOut, err
-}
-func (m *API) DeleteUser(userId string) *model.AppError {
- ret := m.Called(userId)
- if f, ok := ret.Get(0).(func(string) *model.AppError); ok {
- return f(userId)
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.Post) *model.AppError); ok {
+ r1 = rf(post)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- err, _ := ret.Get(0).(*model.AppError)
- return err
+
+ return r0, r1
}
-func (m *API) GetUser(userId string) (*model.User, *model.AppError) {
- ret := m.Called(userId)
- if f, ok := ret.Get(0).(func(string) (*model.User, *model.AppError)); ok {
- return f(userId)
+// CreateTeam provides a mock function with given fields: team
+func (_m *APIMOCKINTERNAL) CreateTeam(team *model.Team) (*model.Team, *model.AppError) {
+ ret := _m.Called(team)
+
+ var r0 *model.Team
+ if rf, ok := ret.Get(0).(func(*model.Team) *model.Team); ok {
+ r0 = rf(team)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Team)
+ }
}
- user, _ := ret.Get(0).(*model.User)
- err, _ := ret.Get(1).(*model.AppError)
- return user, err
-}
-func (m *API) GetUserByEmail(email string) (*model.User, *model.AppError) {
- ret := m.Called(email)
- if f, ok := ret.Get(0).(func(string) (*model.User, *model.AppError)); ok {
- return f(email)
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.Team) *model.AppError); ok {
+ r1 = rf(team)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- user, _ := ret.Get(0).(*model.User)
- err, _ := ret.Get(1).(*model.AppError)
- return user, err
+
+ return r0, r1
}
-func (m *API) GetUserByUsername(name string) (*model.User, *model.AppError) {
- ret := m.Called(name)
- if f, ok := ret.Get(0).(func(string) (*model.User, *model.AppError)); ok {
- return f(name)
+// CreateUser provides a mock function with given fields: user
+func (_m *APIMOCKINTERNAL) CreateUser(user *model.User) (*model.User, *model.AppError) {
+ ret := _m.Called(user)
+
+ var r0 *model.User
+ if rf, ok := ret.Get(0).(func(*model.User) *model.User); ok {
+ r0 = rf(user)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.User)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.User) *model.AppError); ok {
+ r1 = rf(user)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- user, _ := ret.Get(0).(*model.User)
- err, _ := ret.Get(1).(*model.AppError)
- return user, err
+
+ return r0, r1
}
-func (m *API) UpdateUser(user *model.User) (*model.User, *model.AppError) {
- ret := m.Called(user)
- if f, ok := ret.Get(0).(func(*model.User) (*model.User, *model.AppError)); ok {
- return f(user)
+// DeleteChannel provides a mock function with given fields: channelId
+func (_m *APIMOCKINTERNAL) DeleteChannel(channelId string) *model.AppError {
+ ret := _m.Called(channelId)
+
+ var r0 *model.AppError
+ if rf, ok := ret.Get(0).(func(string) *model.AppError); ok {
+ r0 = rf(channelId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.AppError)
+ }
}
- userOut, _ := ret.Get(0).(*model.User)
- err, _ := ret.Get(1).(*model.AppError)
- return userOut, err
+
+ return r0
}
-func (m *API) CreateTeam(team *model.Team) (*model.Team, *model.AppError) {
- ret := m.Called(team)
- if f, ok := ret.Get(0).(func(*model.Team) (*model.Team, *model.AppError)); ok {
- return f(team)
+// DeleteChannelMember provides a mock function with given fields: channelId, userId
+func (_m *APIMOCKINTERNAL) DeleteChannelMember(channelId string, userId string) *model.AppError {
+ ret := _m.Called(channelId, userId)
+
+ var r0 *model.AppError
+ if rf, ok := ret.Get(0).(func(string, string) *model.AppError); ok {
+ r0 = rf(channelId, userId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.AppError)
+ }
}
- teamOut, _ := ret.Get(0).(*model.Team)
- err, _ := ret.Get(1).(*model.AppError)
- return teamOut, err
+
+ return r0
}
-func (m *API) DeleteTeam(teamId string) *model.AppError {
- ret := m.Called(teamId)
- if f, ok := ret.Get(0).(func(string) *model.AppError); ok {
- return f(teamId)
+// DeletePost provides a mock function with given fields: postId
+func (_m *APIMOCKINTERNAL) DeletePost(postId string) *model.AppError {
+ ret := _m.Called(postId)
+
+ var r0 *model.AppError
+ if rf, ok := ret.Get(0).(func(string) *model.AppError); ok {
+ r0 = rf(postId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.AppError)
+ }
}
- err, _ := ret.Get(0).(*model.AppError)
- return err
+
+ return r0
}
-func (m *API) GetTeam(teamId string) (*model.Team, *model.AppError) {
- ret := m.Called(teamId)
- if f, ok := ret.Get(0).(func(string) (*model.Team, *model.AppError)); ok {
- return f(teamId)
+// DeleteTeam provides a mock function with given fields: teamId
+func (_m *APIMOCKINTERNAL) DeleteTeam(teamId string) *model.AppError {
+ ret := _m.Called(teamId)
+
+ var r0 *model.AppError
+ if rf, ok := ret.Get(0).(func(string) *model.AppError); ok {
+ r0 = rf(teamId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.AppError)
+ }
}
- team, _ := ret.Get(0).(*model.Team)
- err, _ := ret.Get(1).(*model.AppError)
- return team, err
+
+ return r0
}
-func (m *API) GetTeamByName(name string) (*model.Team, *model.AppError) {
- ret := m.Called(name)
- if f, ok := ret.Get(0).(func(string) (*model.Team, *model.AppError)); ok {
- return f(name)
+// DeleteUser provides a mock function with given fields: userId
+func (_m *APIMOCKINTERNAL) DeleteUser(userId string) *model.AppError {
+ ret := _m.Called(userId)
+
+ var r0 *model.AppError
+ if rf, ok := ret.Get(0).(func(string) *model.AppError); ok {
+ r0 = rf(userId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.AppError)
+ }
}
- team, _ := ret.Get(0).(*model.Team)
- err, _ := ret.Get(1).(*model.AppError)
- return team, err
+
+ return r0
}
-func (m *API) UpdateTeam(team *model.Team) (*model.Team, *model.AppError) {
- ret := m.Called(team)
- if f, ok := ret.Get(0).(func(*model.Team) (*model.Team, *model.AppError)); ok {
- return f(team)
+// GetChannel provides a mock function with given fields: channelId
+func (_m *APIMOCKINTERNAL) GetChannel(channelId string) (*model.Channel, *model.AppError) {
+ ret := _m.Called(channelId)
+
+ var r0 *model.Channel
+ if rf, ok := ret.Get(0).(func(string) *model.Channel); ok {
+ r0 = rf(channelId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Channel)
+ }
}
- teamOut, _ := ret.Get(0).(*model.Team)
- err, _ := ret.Get(1).(*model.AppError)
- return teamOut, err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
+ r1 = rf(channelId)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *API) CreateChannel(channel *model.Channel) (*model.Channel, *model.AppError) {
- ret := m.Called(channel)
- if f, ok := ret.Get(0).(func(*model.Channel) (*model.Channel, *model.AppError)); ok {
- return f(channel)
+// GetChannelByName provides a mock function with given fields: name, teamId
+func (_m *APIMOCKINTERNAL) GetChannelByName(name string, teamId string) (*model.Channel, *model.AppError) {
+ ret := _m.Called(name, teamId)
+
+ var r0 *model.Channel
+ if rf, ok := ret.Get(0).(func(string, string) *model.Channel); ok {
+ r0 = rf(name, teamId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Channel)
+ }
}
- channelOut, _ := ret.Get(0).(*model.Channel)
- err, _ := ret.Get(1).(*model.AppError)
- return channelOut, err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok {
+ r1 = rf(name, teamId)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *API) DeleteChannel(channelId string) *model.AppError {
- ret := m.Called(channelId)
- if f, ok := ret.Get(0).(func(string) *model.AppError); ok {
- return f(channelId)
+// GetChannelMember provides a mock function with given fields: channelId, userId
+func (_m *APIMOCKINTERNAL) GetChannelMember(channelId string, userId string) (*model.ChannelMember, *model.AppError) {
+ ret := _m.Called(channelId, userId)
+
+ var r0 *model.ChannelMember
+ if rf, ok := ret.Get(0).(func(string, string) *model.ChannelMember); ok {
+ r0 = rf(channelId, userId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.ChannelMember)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok {
+ r1 = rf(channelId, userId)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- err, _ := ret.Get(0).(*model.AppError)
- return err
+
+ return r0, r1
}
-func (m *API) GetChannel(channelId string) (*model.Channel, *model.AppError) {
- ret := m.Called(channelId)
- if f, ok := ret.Get(0).(func(string) (*model.Channel, *model.AppError)); ok {
- return f(channelId)
+// GetDirectChannel provides a mock function with given fields: userId1, userId2
+func (_m *APIMOCKINTERNAL) GetDirectChannel(userId1 string, userId2 string) (*model.Channel, *model.AppError) {
+ ret := _m.Called(userId1, userId2)
+
+ var r0 *model.Channel
+ if rf, ok := ret.Get(0).(func(string, string) *model.Channel); ok {
+ r0 = rf(userId1, userId2)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Channel)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string, string) *model.AppError); ok {
+ r1 = rf(userId1, userId2)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- channel, _ := ret.Get(0).(*model.Channel)
- err, _ := ret.Get(1).(*model.AppError)
- return channel, err
+
+ return r0, r1
}
-func (m *API) GetChannelByName(name, teamId string) (*model.Channel, *model.AppError) {
- ret := m.Called(name, teamId)
- if f, ok := ret.Get(0).(func(_, _ string) (*model.Channel, *model.AppError)); ok {
- return f(name, teamId)
+// GetGroupChannel provides a mock function with given fields: userIds
+func (_m *APIMOCKINTERNAL) GetGroupChannel(userIds []string) (*model.Channel, *model.AppError) {
+ ret := _m.Called(userIds)
+
+ var r0 *model.Channel
+ if rf, ok := ret.Get(0).(func([]string) *model.Channel); ok {
+ r0 = rf(userIds)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Channel)
+ }
}
- channel, _ := ret.Get(0).(*model.Channel)
- err, _ := ret.Get(1).(*model.AppError)
- return channel, err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func([]string) *model.AppError); ok {
+ r1 = rf(userIds)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *API) GetDirectChannel(userId1, userId2 string) (*model.Channel, *model.AppError) {
- ret := m.Called(userId1, userId2)
- if f, ok := ret.Get(0).(func(_, _ string) (*model.Channel, *model.AppError)); ok {
- return f(userId1, userId2)
+// GetPost provides a mock function with given fields: postId
+func (_m *APIMOCKINTERNAL) GetPost(postId string) (*model.Post, *model.AppError) {
+ ret := _m.Called(postId)
+
+ var r0 *model.Post
+ if rf, ok := ret.Get(0).(func(string) *model.Post); ok {
+ r0 = rf(postId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Post)
+ }
}
- channel, _ := ret.Get(0).(*model.Channel)
- err, _ := ret.Get(1).(*model.AppError)
- return channel, err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
+ r1 = rf(postId)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *API) GetGroupChannel(userIds []string) (*model.Channel, *model.AppError) {
- ret := m.Called(userIds)
- if f, ok := ret.Get(0).(func([]string) (*model.Channel, *model.AppError)); ok {
- return f(userIds)
+// GetTeam provides a mock function with given fields: teamId
+func (_m *APIMOCKINTERNAL) GetTeam(teamId string) (*model.Team, *model.AppError) {
+ ret := _m.Called(teamId)
+
+ var r0 *model.Team
+ if rf, ok := ret.Get(0).(func(string) *model.Team); ok {
+ r0 = rf(teamId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Team)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
+ r1 = rf(teamId)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- channel, _ := ret.Get(0).(*model.Channel)
- err, _ := ret.Get(1).(*model.AppError)
- return channel, err
+
+ return r0, r1
}
-func (m *API) UpdateChannel(channel *model.Channel) (*model.Channel, *model.AppError) {
- ret := m.Called(channel)
- if f, ok := ret.Get(0).(func(*model.Channel) (*model.Channel, *model.AppError)); ok {
- return f(channel)
+// GetTeamByName provides a mock function with given fields: name
+func (_m *APIMOCKINTERNAL) GetTeamByName(name string) (*model.Team, *model.AppError) {
+ ret := _m.Called(name)
+
+ var r0 *model.Team
+ if rf, ok := ret.Get(0).(func(string) *model.Team); ok {
+ r0 = rf(name)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Team)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
+ r1 = rf(name)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- channelOut, _ := ret.Get(0).(*model.Channel)
- err, _ := ret.Get(1).(*model.AppError)
- return channelOut, err
+
+ return r0, r1
}
-func (m *API) AddChannelMember(channelId, userId string) (*model.ChannelMember, *model.AppError) {
- ret := m.Called(channelId, userId)
- if f, ok := ret.Get(0).(func(_, _ string) (*model.ChannelMember, *model.AppError)); ok {
- return f(channelId, userId)
+// GetUser provides a mock function with given fields: userId
+func (_m *APIMOCKINTERNAL) GetUser(userId string) (*model.User, *model.AppError) {
+ ret := _m.Called(userId)
+
+ var r0 *model.User
+ if rf, ok := ret.Get(0).(func(string) *model.User); ok {
+ r0 = rf(userId)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.User)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
+ r1 = rf(userId)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- member, _ := ret.Get(0).(*model.ChannelMember)
- err, _ := ret.Get(1).(*model.AppError)
- return member, err
+
+ return r0, r1
}
-func (m *API) GetChannelMember(channelId, userId string) (*model.ChannelMember, *model.AppError) {
- ret := m.Called(channelId, userId)
- if f, ok := ret.Get(0).(func(_, _ string) (*model.ChannelMember, *model.AppError)); ok {
- return f(channelId, userId)
+// GetUserByEmail provides a mock function with given fields: email
+func (_m *APIMOCKINTERNAL) GetUserByEmail(email string) (*model.User, *model.AppError) {
+ ret := _m.Called(email)
+
+ var r0 *model.User
+ if rf, ok := ret.Get(0).(func(string) *model.User); ok {
+ r0 = rf(email)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.User)
+ }
}
- member, _ := ret.Get(0).(*model.ChannelMember)
- err, _ := ret.Get(1).(*model.AppError)
- return member, err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
+ r1 = rf(email)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *API) UpdateChannelMemberRoles(channelId, userId, newRoles string) (*model.ChannelMember, *model.AppError) {
- ret := m.Called(channelId, userId, newRoles)
- if f, ok := ret.Get(0).(func(_, _, _ string) (*model.ChannelMember, *model.AppError)); ok {
- return f(channelId, userId, newRoles)
+// GetUserByUsername provides a mock function with given fields: name
+func (_m *APIMOCKINTERNAL) GetUserByUsername(name string) (*model.User, *model.AppError) {
+ ret := _m.Called(name)
+
+ var r0 *model.User
+ if rf, ok := ret.Get(0).(func(string) *model.User); ok {
+ r0 = rf(name)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.User)
+ }
}
- member, _ := ret.Get(0).(*model.ChannelMember)
- err, _ := ret.Get(1).(*model.AppError)
- return member, err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
+ r1 = rf(name)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *API) UpdateChannelMemberNotifications(channelId, userId string, notifications map[string]string) (*model.ChannelMember, *model.AppError) {
- ret := m.Called(channelId, userId, notifications)
- if f, ok := ret.Get(0).(func(_, _ string, _ map[string]string) (*model.ChannelMember, *model.AppError)); ok {
- return f(channelId, userId, notifications)
+// KeyValueStore provides a mock function with given fields:
+func (_m *APIMOCKINTERNAL) KeyValueStore() plugin.KeyValueStore {
+ ret := _m.Called()
+
+ var r0 plugin.KeyValueStore
+ if rf, ok := ret.Get(0).(func() plugin.KeyValueStore); ok {
+ r0 = rf()
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(plugin.KeyValueStore)
+ }
}
- member, _ := ret.Get(0).(*model.ChannelMember)
- err, _ := ret.Get(1).(*model.AppError)
- return member, err
+
+ return r0
}
-func (m *API) DeleteChannelMember(channelId, userId string) *model.AppError {
- ret := m.Called(channelId, userId)
- if f, ok := ret.Get(0).(func(_, _ string) *model.AppError); ok {
- return f(channelId, userId)
+// LoadPluginConfiguration provides a mock function with given fields: dest
+func (_m *APIMOCKINTERNAL) LoadPluginConfiguration(dest interface{}) error {
+ ret := _m.Called(dest)
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func(interface{}) error); ok {
+ r0 = rf(dest)
+ } else {
+ r0 = ret.Error(0)
}
- err, _ := ret.Get(0).(*model.AppError)
- return err
+
+ return r0
}
-func (m *API) CreatePost(post *model.Post) (*model.Post, *model.AppError) {
- ret := m.Called(post)
- if f, ok := ret.Get(0).(func(*model.Post) (*model.Post, *model.AppError)); ok {
- return f(post)
+// RegisterCommand provides a mock function with given fields: command
+func (_m *APIMOCKINTERNAL) RegisterCommand(command *model.Command) error {
+ ret := _m.Called(command)
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func(*model.Command) error); ok {
+ r0 = rf(command)
+ } else {
+ r0 = ret.Error(0)
}
- postOut, _ := ret.Get(0).(*model.Post)
- err, _ := ret.Get(1).(*model.AppError)
- return postOut, err
+
+ return r0
}
-func (m *API) DeletePost(postId string) *model.AppError {
- ret := m.Called(postId)
- if f, ok := ret.Get(0).(func(string) *model.AppError); ok {
- return f(postId)
+// UnregisterCommand provides a mock function with given fields: teamId, trigger
+func (_m *APIMOCKINTERNAL) UnregisterCommand(teamId string, trigger string) error {
+ ret := _m.Called(teamId, trigger)
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func(string, string) error); ok {
+ r0 = rf(teamId, trigger)
+ } else {
+ r0 = ret.Error(0)
}
- err, _ := ret.Get(0).(*model.AppError)
- return err
+
+ return r0
}
-func (m *API) GetPost(postId string) (*model.Post, *model.AppError) {
- ret := m.Called(postId)
- if f, ok := ret.Get(0).(func(string) (*model.Post, *model.AppError)); ok {
- return f(postId)
+// UpdateChannel provides a mock function with given fields: channel
+func (_m *APIMOCKINTERNAL) UpdateChannel(channel *model.Channel) (*model.Channel, *model.AppError) {
+ ret := _m.Called(channel)
+
+ var r0 *model.Channel
+ if rf, ok := ret.Get(0).(func(*model.Channel) *model.Channel); ok {
+ r0 = rf(channel)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Channel)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.Channel) *model.AppError); ok {
+ r1 = rf(channel)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- post, _ := ret.Get(0).(*model.Post)
- err, _ := ret.Get(1).(*model.AppError)
- return post, err
+
+ return r0, r1
}
-func (m *API) UpdatePost(post *model.Post) (*model.Post, *model.AppError) {
- ret := m.Called(post)
- if f, ok := ret.Get(0).(func(*model.Post) (*model.Post, *model.AppError)); ok {
- return f(post)
+// UpdateChannelMemberNotifications provides a mock function with given fields: channelId, userId, notifications
+func (_m *APIMOCKINTERNAL) UpdateChannelMemberNotifications(channelId string, userId string, notifications map[string]string) (*model.ChannelMember, *model.AppError) {
+ ret := _m.Called(channelId, userId, notifications)
+
+ var r0 *model.ChannelMember
+ if rf, ok := ret.Get(0).(func(string, string, map[string]string) *model.ChannelMember); ok {
+ r0 = rf(channelId, userId, notifications)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.ChannelMember)
+ }
}
- postOut, _ := ret.Get(0).(*model.Post)
- err, _ := ret.Get(1).(*model.AppError)
- return postOut, err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string, string, map[string]string) *model.AppError); ok {
+ r1 = rf(channelId, userId, notifications)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *API) KeyValueStore() plugin.KeyValueStore {
- return m.Store
+// UpdateChannelMemberRoles provides a mock function with given fields: channelId, userId, newRoles
+func (_m *APIMOCKINTERNAL) UpdateChannelMemberRoles(channelId string, userId string, newRoles string) (*model.ChannelMember, *model.AppError) {
+ ret := _m.Called(channelId, userId, newRoles)
+
+ var r0 *model.ChannelMember
+ if rf, ok := ret.Get(0).(func(string, string, string) *model.ChannelMember); ok {
+ r0 = rf(channelId, userId, newRoles)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.ChannelMember)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string, string, string) *model.AppError); ok {
+ r1 = rf(channelId, userId, newRoles)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *KeyValueStore) Set(key string, value []byte) *model.AppError {
- ret := m.Called(key, value)
- if f, ok := ret.Get(0).(func(string, []byte) *model.AppError); ok {
- return f(key, value)
+// UpdatePost provides a mock function with given fields: post
+func (_m *APIMOCKINTERNAL) UpdatePost(post *model.Post) (*model.Post, *model.AppError) {
+ ret := _m.Called(post)
+
+ var r0 *model.Post
+ if rf, ok := ret.Get(0).(func(*model.Post) *model.Post); ok {
+ r0 = rf(post)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Post)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.Post) *model.AppError); ok {
+ r1 = rf(post)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
}
- err, _ := ret.Get(0).(*model.AppError)
- return err
+
+ return r0, r1
}
-func (m *KeyValueStore) Get(key string) ([]byte, *model.AppError) {
- ret := m.Called(key)
- if f, ok := ret.Get(0).(func(string) ([]byte, *model.AppError)); ok {
- return f(key)
+// UpdateTeam provides a mock function with given fields: team
+func (_m *APIMOCKINTERNAL) UpdateTeam(team *model.Team) (*model.Team, *model.AppError) {
+ ret := _m.Called(team)
+
+ var r0 *model.Team
+ if rf, ok := ret.Get(0).(func(*model.Team) *model.Team); ok {
+ r0 = rf(team)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Team)
+ }
}
- psv, _ := ret.Get(0).([]byte)
- err, _ := ret.Get(1).(*model.AppError)
- return psv, err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.Team) *model.AppError); ok {
+ r1 = rf(team)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
-func (m *KeyValueStore) Delete(key string) *model.AppError {
- ret := m.Called(key)
- if f, ok := ret.Get(0).(func(string) *model.AppError); ok {
- return f(key)
+// UpdateUser provides a mock function with given fields: user
+func (_m *APIMOCKINTERNAL) UpdateUser(user *model.User) (*model.User, *model.AppError) {
+ ret := _m.Called(user)
+
+ var r0 *model.User
+ if rf, ok := ret.Get(0).(func(*model.User) *model.User); ok {
+ r0 = rf(user)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.User)
+ }
}
- err, _ := ret.Get(0).(*model.AppError)
- return err
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.User) *model.AppError); ok {
+ r1 = rf(user)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
}
diff --git a/plugin/plugintest/apioverride.go b/plugin/plugintest/apioverride.go
new file mode 100644
index 000000000..54cfe27bc
--- /dev/null
+++ b/plugin/plugintest/apioverride.go
@@ -0,0 +1,18 @@
+// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
+// See LICENSE.txt for license information.
+
+package plugintest
+
+import "github.com/mattermost/mattermost-server/plugin"
+
+type API struct {
+ APIMOCKINTERNAL
+ Store *KeyValueStore
+}
+
+var _ plugin.API = (*API)(nil)
+var _ plugin.KeyValueStore = (*KeyValueStore)(nil)
+
+func (m *API) KeyValueStore() plugin.KeyValueStore {
+ return m.Store
+}
diff --git a/plugin/plugintest/hooks.go b/plugin/plugintest/hooks.go
index 9ea11a9fb..3de257c76 100644
--- a/plugin/plugintest/hooks.go
+++ b/plugin/plugintest/hooks.go
@@ -1,49 +1,143 @@
-// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
-// See License.txt for license information.
+// Code generated by mockery v1.0.0. DO NOT EDIT.
-package plugintest
-
-import (
- "net/http"
+// Regenerate this file using `make plugin-mocks`.
- "github.com/stretchr/testify/mock"
+package plugintest
- "github.com/mattermost/mattermost-server/model"
- "github.com/mattermost/mattermost-server/plugin"
-)
+import http "net/http"
+import mock "github.com/stretchr/testify/mock"
+import model "github.com/mattermost/mattermost-server/model"
+import plugin "github.com/mattermost/mattermost-server/plugin"
+// Hooks is an autogenerated mock type for the Hooks type
type Hooks struct {
mock.Mock
}
-var _ plugin.Hooks = (*Hooks)(nil)
+// ExecuteCommand provides a mock function with given fields: args
+func (_m *Hooks) ExecuteCommand(args *model.CommandArgs) (*model.CommandResponse, *model.AppError) {
+ ret := _m.Called(args)
+
+ var r0 *model.CommandResponse
+ if rf, ok := ret.Get(0).(func(*model.CommandArgs) *model.CommandResponse); ok {
+ r0 = rf(args)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.CommandResponse)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(*model.CommandArgs) *model.AppError); ok {
+ r1 = rf(args)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
+}
+
+// MessageHasBeenPosted provides a mock function with given fields: post
+func (_m *Hooks) MessageHasBeenPosted(post *model.Post) {
+ _m.Called(post)
+}
+
+// MessageHasBeenUpdated provides a mock function with given fields: newPost, oldPost
+func (_m *Hooks) MessageHasBeenUpdated(newPost *model.Post, oldPost *model.Post) {
+ _m.Called(newPost, oldPost)
+}
+
+// MessageWillBePosted provides a mock function with given fields: post
+func (_m *Hooks) MessageWillBePosted(post *model.Post) (*model.Post, string) {
+ ret := _m.Called(post)
+
+ var r0 *model.Post
+ if rf, ok := ret.Get(0).(func(*model.Post) *model.Post); ok {
+ r0 = rf(post)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Post)
+ }
+ }
-func (m *Hooks) OnActivate(api plugin.API) error {
- ret := m.Called(api)
- if f, ok := ret.Get(0).(func(plugin.API) error); ok {
- return f(api)
+ var r1 string
+ if rf, ok := ret.Get(1).(func(*model.Post) string); ok {
+ r1 = rf(post)
+ } else {
+ r1 = ret.Get(1).(string)
}
- return ret.Error(0)
+
+ return r0, r1
}
-func (m *Hooks) OnDeactivate() error {
- return m.Called().Error(0)
+// MessageWillBeUpdated provides a mock function with given fields: newPost, oldPost
+func (_m *Hooks) MessageWillBeUpdated(newPost *model.Post, oldPost *model.Post) (*model.Post, string) {
+ ret := _m.Called(newPost, oldPost)
+
+ var r0 *model.Post
+ if rf, ok := ret.Get(0).(func(*model.Post, *model.Post) *model.Post); ok {
+ r0 = rf(newPost, oldPost)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.Post)
+ }
+ }
+
+ var r1 string
+ if rf, ok := ret.Get(1).(func(*model.Post, *model.Post) string); ok {
+ r1 = rf(newPost, oldPost)
+ } else {
+ r1 = ret.Get(1).(string)
+ }
+
+ return r0, r1
}
-func (m *Hooks) OnConfigurationChange() error {
- return m.Called().Error(0)
+// OnActivate provides a mock function with given fields: _a0
+func (_m *Hooks) OnActivate(_a0 plugin.API) error {
+ ret := _m.Called(_a0)
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func(plugin.API) error); ok {
+ r0 = rf(_a0)
+ } else {
+ r0 = ret.Error(0)
+ }
+
+ return r0
}
-func (m *Hooks) ServeHTTP(w http.ResponseWriter, r *http.Request) {
- m.Called(w, r)
+// OnConfigurationChange provides a mock function with given fields:
+func (_m *Hooks) OnConfigurationChange() error {
+ ret := _m.Called()
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func() error); ok {
+ r0 = rf()
+ } else {
+ r0 = ret.Error(0)
+ }
+
+ return r0
}
-func (m *Hooks) ExecuteCommand(args *model.CommandArgs) (*model.CommandResponse, *model.AppError) {
- ret := m.Called(args)
- if f, ok := ret.Get(0).(func(*model.CommandArgs) (*model.CommandResponse, *model.AppError)); ok {
- return f(args)
+// OnDeactivate provides a mock function with given fields:
+func (_m *Hooks) OnDeactivate() error {
+ ret := _m.Called()
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func() error); ok {
+ r0 = rf()
+ } else {
+ r0 = ret.Error(0)
}
- resp, _ := ret.Get(0).(*model.CommandResponse)
- err, _ := ret.Get(1).(*model.AppError)
- return resp, err
+
+ return r0
+}
+
+// ServeHTTP provides a mock function with given fields: _a0, _a1
+func (_m *Hooks) ServeHTTP(_a0 http.ResponseWriter, _a1 *http.Request) {
+ _m.Called(_a0, _a1)
}
diff --git a/plugin/plugintest/key_value_store.go b/plugin/plugintest/key_value_store.go
new file mode 100644
index 000000000..30d60d708
--- /dev/null
+++ b/plugin/plugintest/key_value_store.go
@@ -0,0 +1,70 @@
+// Code generated by mockery v1.0.0. DO NOT EDIT.
+
+// Regenerate this file using `make plugin-mocks`.
+
+package plugintest
+
+import mock "github.com/stretchr/testify/mock"
+import model "github.com/mattermost/mattermost-server/model"
+
+// KeyValueStore is an autogenerated mock type for the KeyValueStore type
+type KeyValueStore struct {
+ mock.Mock
+}
+
+// Delete provides a mock function with given fields: key
+func (_m *KeyValueStore) Delete(key string) *model.AppError {
+ ret := _m.Called(key)
+
+ var r0 *model.AppError
+ if rf, ok := ret.Get(0).(func(string) *model.AppError); ok {
+ r0 = rf(key)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.AppError)
+ }
+ }
+
+ return r0
+}
+
+// Get provides a mock function with given fields: key
+func (_m *KeyValueStore) Get(key string) ([]byte, *model.AppError) {
+ ret := _m.Called(key)
+
+ var r0 []byte
+ if rf, ok := ret.Get(0).(func(string) []byte); ok {
+ r0 = rf(key)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).([]byte)
+ }
+ }
+
+ var r1 *model.AppError
+ if rf, ok := ret.Get(1).(func(string) *model.AppError); ok {
+ r1 = rf(key)
+ } else {
+ if ret.Get(1) != nil {
+ r1 = ret.Get(1).(*model.AppError)
+ }
+ }
+
+ return r0, r1
+}
+
+// Set provides a mock function with given fields: key, value
+func (_m *KeyValueStore) Set(key string, value []byte) *model.AppError {
+ ret := _m.Called(key, value)
+
+ var r0 *model.AppError
+ if rf, ok := ret.Get(0).(func(string, []byte) *model.AppError); ok {
+ r0 = rf(key, value)
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*model.AppError)
+ }
+ }
+
+ return r0
+}