github.com/adacta-ru/mattermost-server/v6@v6.0.0/app/plugin_api_tests/test_get_direct_channel_plugin/main.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package main 5 6 import ( 7 "github.com/adacta-ru/mattermost-server/v6/app/plugin_api_tests" 8 "github.com/adacta-ru/mattermost-server/v6/model" 9 "github.com/adacta-ru/mattermost-server/v6/plugin" 10 ) 11 12 type MyPlugin struct { 13 plugin.MattermostPlugin 14 configuration plugin_api_tests.BasicConfig 15 } 16 17 func (p *MyPlugin) OnConfigurationChange() error { 18 if err := p.API.LoadPluginConfiguration(&p.configuration); err != nil { 19 return err 20 } 21 return nil 22 } 23 24 func (p *MyPlugin) MessageWillBePosted(c *plugin.Context, post *model.Post) (*model.Post, string) { 25 dm1, err := p.API.GetDirectChannel(p.configuration.BasicUserId, p.configuration.BasicUser2Id) 26 if err != nil { 27 return nil, err.Error() 28 } 29 if plugin_api_tests.IsEmpty(dm1) { 30 return nil, "dm1 is empty" 31 } 32 33 dm2, err := p.API.GetDirectChannel(p.configuration.BasicUserId, p.configuration.BasicUserId) 34 if err != nil { 35 return nil, err.Error() 36 } 37 if plugin_api_tests.IsEmpty(dm2) { 38 return nil, "dm2 is empty" 39 } 40 41 dm3, err := p.API.GetDirectChannel(p.configuration.BasicUserId, model.NewId()) 42 if err == nil { 43 return nil, "Expected to get error while fetching incorrect channel" 44 } 45 if !plugin_api_tests.IsEmpty(dm3) { 46 return nil, "dm3 is NOT empty" 47 } 48 return nil, "OK" 49 } 50 51 func main() { 52 plugin.ClientMain(&MyPlugin{}) 53 }