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  }