MM-47228 - restrict guest invitation flow if subscription plan does n… (#21195)

* MM-47228 - restrict guest invitation flow if subscription plan does not support it

* fix i18n texts and add unit test

* test the scenario where guest invites are blocked by subscription

* cover the success scenarios for cloud free trial and paid subscription

* fix go vet

* use the cloud prefix for the sku

* fix unit tests

* check the licence value to determine if the guest accounts are enabled

* remove unnecessary changes for getting the subscription information

* restrict user demotion if guestAccounts is not available in license

Co-authored-by: Pablo Velez Vidal <pablo.velez@mattermost.com>
Этот коммит содержится в:
Pablo Andrés Vélez Vidal
2022-10-07 15:57:44 +02:00
коммит произвёл GitHub
родитель 6e9b808efd
Коммит 9a804a96fe
6 изменённых файлов: 109 добавлений и 10 удалений

Просмотреть файл

@@ -5204,6 +5204,26 @@ func TestDemoteUserToGuest(t *testing.T) {
th.App.Srv().SetLicense(model.NewTestLicense())
user := th.BasicUser
user2 := th.BasicUser2
t.Run("Guest Account not available in license returns forbidden", func(t *testing.T) {
th.App.Srv().SetLicense(model.NewTestLicenseWithFalseDefaults("guest_accounts"))
res, err := th.SystemAdminClient.DoAPIPost("/users/"+user2.Id+"/demote", "")
require.Equal(t, http.StatusForbidden, res.StatusCode)
require.True(t, strings.Contains(err.Error(), "Guest accounts are disabled"))
require.Error(t, err)
})
t.Run("Guest Account available in license returns OK", func(t *testing.T) {
th.App.Srv().SetLicense(model.NewTestLicense("guest_accounts"))
res, err := th.SystemAdminClient.DoAPIPost("/users/"+user2.Id+"/demote", "")
require.Equal(t, http.StatusOK, res.StatusCode)
require.NoError(t, err)
})
th.TestForSystemAdminAndLocal(t, func(t *testing.T, c *model.Client4) {
_, _, err := c.GetUser(user.Id, "")