Этот коммит содержится в:
Carlos Tadeu Panato Junior
2018-11-16 16:52:07 +01:00
коммит произвёл Joram Wilander
родитель 7a8d7e53cc
Коммит bffac3f09f
5 изменённых файлов: 97 добавлений и 3 удалений

Просмотреть файл

@@ -466,6 +466,20 @@ func (api *PluginAPI) GetTeamIcon(teamId string) ([]byte, *model.AppError) {
return data, nil
}
func (api *PluginAPI) SetTeamIcon(teamId string, data []byte) *model.AppError {
team, err := api.app.GetTeam(teamId)
if err != nil {
return err
}
fileReader := bytes.NewReader(data)
err = api.app.SetTeamIconFromFile(team, fileReader)
if err != nil {
return err
}
return nil
}
// Plugin Section
func (api *PluginAPI) GetPlugins() ([]*model.Manifest, *model.AppError) {

Просмотреть файл

@@ -332,12 +332,42 @@ func TestPluginAPIGetTeamIcon(t *testing.T) {
require.Nil(t, err)
// Get the team icon to check
imageProfile, err := api.GetTeamIcon(th.BasicTeam.Id)
teamIcon, err := api.GetTeamIcon(th.BasicTeam.Id)
require.Nil(t, err)
require.NotEmpty(t, imageProfile)
require.NotEmpty(t, teamIcon)
colorful := color.NRGBA{255, 0, 0, 255}
byteReader := bytes.NewReader(imageProfile)
byteReader := bytes.NewReader(teamIcon)
img2, _, err2 := image.Decode(byteReader)
require.Nil(t, err2)
require.Equal(t, img2.At(2, 3), colorful)
}
func TestPluginAPISetTeamIcon(t *testing.T) {
th := Setup().InitBasic()
defer th.TearDown()
api := th.SetupPluginAPI()
// Create an 128 x 128 image
img := image.NewRGBA(image.Rect(0, 0, 128, 128))
// Draw a red dot at (2, 3)
img.Set(2, 3, color.RGBA{255, 0, 0, 255})
buf := new(bytes.Buffer)
err := png.Encode(buf, img)
require.Nil(t, err)
dataBytes := buf.Bytes()
// Set the user profile image
err = api.SetTeamIcon(th.BasicTeam.Id, dataBytes)
require.Nil(t, err)
// Get the user profile image to check
teamIcon, err := api.GetTeamIcon(th.BasicTeam.Id)
require.Nil(t, err)
require.NotEmpty(t, teamIcon)
colorful := color.NRGBA{255, 0, 0, 255}
byteReader := bytes.NewReader(teamIcon)
img2, _, err2 := image.Decode(byteReader)
require.Nil(t, err2)
require.Equal(t, img2.At(2, 3), colorful)