diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/plugin_api.go | 10 | ||||
-rw-r--r-- | app/plugin_api_test.go | 18 |
2 files changed, 27 insertions, 1 deletions
diff --git a/app/plugin_api.go b/app/plugin_api.go index 85d62b317..4b2fa0447 100644 --- a/app/plugin_api.go +++ b/app/plugin_api.go @@ -323,6 +323,16 @@ func (api *PluginAPI) UpdatePost(post *model.Post) (*model.Post, *model.AppError return api.app.UpdatePost(post, false) } +func (api *PluginAPI) GetProfileImage(userId string) ([]byte, *model.AppError) { + user, err := api.app.GetUser(userId) + if err != nil { + return nil, err + } + + data, _, err := api.app.GetProfileImage(user) + return data, err +} + func (api *PluginAPI) CopyFileInfos(userId string, fileIds []string) ([]string, *model.AppError) { return api.app.CopyFileInfos(userId, fileIds) } diff --git a/app/plugin_api_test.go b/app/plugin_api_test.go index 12701e87e..d95ae38fb 100644 --- a/app/plugin_api_test.go +++ b/app/plugin_api_test.go @@ -83,7 +83,7 @@ func TestPluginAPILoadPluginConfiguration(t *testing.T) { } type MyPlugin struct { - plugin.MattermostPlugin + plugin.MattermostPlugin configuration configuration } @@ -199,3 +199,19 @@ func TestPluginAPILoadPluginConfigurationDefaults(t *testing.T) { _, ret := hooks.MessageWillBePosted(nil, nil) assert.Equal(t, "override35true", ret) } + +func TestPluginAPIGetProfileImage(t *testing.T) { + th := Setup().InitBasic() + defer th.TearDown() + api := th.SetupPluginAPI() + + // check existing user first + data, err := api.GetProfileImage(th.BasicUser.Id) + require.Nil(t, err) + require.NotEmpty(t, data) + + // then unknown user + data, err = api.GetProfileImage(model.NewId()) + require.NotNil(t, err) + require.Nil(t, data) +} |