github.com/adacta-ru/mattermost-server/v6@v6.0.0/app/email_test.go (about) 1 // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. 2 // See LICENSE.txt for license information. 3 4 package app 5 6 import ( 7 "net/http" 8 "strconv" 9 "testing" 10 11 "github.com/adacta-ru/mattermost-server/v6/model" 12 "github.com/stretchr/testify/assert" 13 "github.com/stretchr/testify/require" 14 ) 15 16 func TestCondenseSiteURL(t *testing.T) { 17 require.Equal(t, "", condenseSiteURL("")) 18 require.Equal(t, "mattermost.com", condenseSiteURL("mattermost.com")) 19 require.Equal(t, "mattermost.com", condenseSiteURL("mattermost.com/")) 20 require.Equal(t, "chat.mattermost.com", condenseSiteURL("chat.mattermost.com")) 21 require.Equal(t, "chat.mattermost.com", condenseSiteURL("chat.mattermost.com/")) 22 require.Equal(t, "mattermost.com/subpath", condenseSiteURL("mattermost.com/subpath")) 23 require.Equal(t, "mattermost.com/subpath", condenseSiteURL("mattermost.com/subpath/")) 24 require.Equal(t, "chat.mattermost.com/subpath", condenseSiteURL("chat.mattermost.com/subpath")) 25 require.Equal(t, "chat.mattermost.com/subpath", condenseSiteURL("chat.mattermost.com/subpath/")) 26 27 require.Equal(t, "mattermost.com:8080", condenseSiteURL("http://mattermost.com:8080")) 28 require.Equal(t, "mattermost.com:8080", condenseSiteURL("http://mattermost.com:8080/")) 29 require.Equal(t, "chat.mattermost.com:8080", condenseSiteURL("http://chat.mattermost.com:8080")) 30 require.Equal(t, "chat.mattermost.com:8080", condenseSiteURL("http://chat.mattermost.com:8080/")) 31 require.Equal(t, "mattermost.com:8080/subpath", condenseSiteURL("http://mattermost.com:8080/subpath")) 32 require.Equal(t, "mattermost.com:8080/subpath", condenseSiteURL("http://mattermost.com:8080/subpath/")) 33 require.Equal(t, "chat.mattermost.com:8080/subpath", condenseSiteURL("http://chat.mattermost.com:8080/subpath")) 34 require.Equal(t, "chat.mattermost.com:8080/subpath", condenseSiteURL("http://chat.mattermost.com:8080/subpath/")) 35 } 36 37 func TestSendInviteEmailRateLimits(t *testing.T) { 38 th := Setup(t).InitBasic() 39 defer th.TearDown() 40 41 th.BasicTeam.AllowedDomains = "common.com" 42 _, err := th.App.UpdateTeam(th.BasicTeam) 43 require.Nilf(t, err, "%v, Should update the team", err) 44 45 th.App.UpdateConfig(func(cfg *model.Config) { 46 *cfg.ServiceSettings.EnableEmailInvitations = true 47 }) 48 49 emailList := make([]string, 22) 50 for i := 0; i < 22; i++ { 51 emailList[i] = "test-" + strconv.Itoa(i) + "@common.com" 52 } 53 err = th.App.InviteNewUsersToTeam(emailList, th.BasicTeam.Id, th.BasicUser.Id) 54 require.NotNil(t, err) 55 assert.Equal(t, "app.email.rate_limit_exceeded.app_error", err.Id) 56 assert.Equal(t, http.StatusRequestEntityTooLarge, err.StatusCode) 57 58 _, err = th.App.InviteNewUsersToTeamGracefully(emailList, th.BasicTeam.Id, th.BasicUser.Id) 59 require.NotNil(t, err) 60 assert.Equal(t, "app.email.rate_limit_exceeded.app_error", err.Id) 61 assert.Equal(t, http.StatusRequestEntityTooLarge, err.StatusCode) 62 }