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  }