github.com/xzl8028/xenia-server@v0.0.0-20190809101854-18450a97da63/tests/plugin_tests/test_search_teams_plugin/main.go (about) 1 // Copyright (c) 2015-present Xenia, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package main 5 6 import ( 7 "fmt" 8 9 "github.com/xzl8028/xenia-server/model" 10 "github.com/xzl8028/xenia-server/plugin" 11 ) 12 13 type MyPlugin struct { 14 plugin.XeniaPlugin 15 } 16 17 func (p *MyPlugin) MessageWillBePosted(c *plugin.Context, post *model.Post) (*model.Post, string) { 18 19 teams, err := p.API.SearchTeams("{{.BasicTeam.Name}}") 20 if err != nil { 21 return nil, "search failed: " + err.Message 22 } 23 if len(teams) != 1 { 24 return nil, fmt.Sprintf("search failed, wrong number of teams: %v", len(teams)) 25 } 26 27 teams, err = p.API.SearchTeams("{{.BasicTeam.DisplayName}}") 28 if err != nil { 29 return nil, "search failed: " + err.Message 30 } 31 if len(teams) != 1 { 32 return nil, fmt.Sprintf("search failed, wrong number of teams: %v", len(teams)) 33 } 34 35 teams, err = p.API.SearchTeams("{{.BasicTeam.Name}}"[:3]) 36 37 if err != nil { 38 return nil, "search failed: " + err.Message 39 } 40 if len(teams) != 1 { 41 return nil, fmt.Sprintf("search failed, wrong number of teams: %v", len(teams)) 42 } 43 44 teams, err = p.API.SearchTeams("not found") 45 if err != nil { 46 return nil, "search failed: " + err.Message 47 } 48 if len(teams) != 0 { 49 return nil, fmt.Sprintf("search failed, wrong number of teams: %v", len(teams)) 50 } 51 return nil, "" 52 } 53 54 func main() { 55 plugin.ClientMain(&MyPlugin{}) 56 }