summaryrefslogtreecommitdiffstats
path: root/api4
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2017-10-18 15:36:43 -0700
committerGitHub <noreply@github.com>2017-10-18 15:36:43 -0700
commit8e19ba029f889519d93cf272960dce858971106c (patch)
treed8f38ac62661fb8578e2b5c3c619fe31ab29f480 /api4
parent34a87fa8f47b1447b73e3ae56866b654801b3eee (diff)
downloadchat-8e19ba029f889519d93cf272960dce858971106c.tar.gz
chat-8e19ba029f889519d93cf272960dce858971106c.tar.bz2
chat-8e19ba029f889519d93cf272960dce858971106c.zip
Reduce utils.Cfg references (#7650)
* app.UpdateConfig method * test fix * another test fix * the config override option as-was is just error prone, remove it for now * derp
Diffstat (limited to 'api4')
-rw-r--r--api4/apitestlib.go17
-rw-r--r--api4/brand.go4
-rw-r--r--api4/channel_test.go112
-rw-r--r--api4/command_help_test.go11
-rw-r--r--api4/command_test.go97
-rw-r--r--api4/context.go6
-rw-r--r--api4/elasticsearch.go2
-rw-r--r--api4/emoji.go12
-rw-r--r--api4/emoji_test.go44
-rw-r--r--api4/file.go12
-rw-r--r--api4/file_test.go55
-rw-r--r--api4/oauth.go4
-rw-r--r--api4/oauth_test.go134
-rw-r--r--api4/openGraph.go2
-rw-r--r--api4/openGraph_test.go21
-rw-r--r--api4/plugin.go9
-rw-r--r--api4/plugin_test.go19
-rw-r--r--api4/post_test.go34
-rw-r--r--api4/system.go12
-rw-r--r--api4/system_test.go37
-rw-r--r--api4/team_test.go46
-rw-r--r--api4/user.go24
-rw-r--r--api4/user_test.go166
-rw-r--r--api4/webhook.go2
-rw-r--r--api4/webhook_test.go164
-rw-r--r--api4/webrtc_test.go9
26 files changed, 555 insertions, 500 deletions
diff --git a/api4/apitestlib.go b/api4/apitestlib.go
index 4bd8276d5..3e093df56 100644
--- a/api4/apitestlib.go
+++ b/api4/apitestlib.go
@@ -81,27 +81,28 @@ func setupTestHelper(enterprise bool) *TestHelper {
var options []app.Option
if testStore != nil {
options = append(options, app.StoreOverride(testStore))
- options = append(options, app.ConfigOverride(func(cfg *model.Config) {
- cfg.ServiceSettings.ListenAddress = new(string)
- *cfg.ServiceSettings.ListenAddress = ":0"
- }))
}
th := &TestHelper{
App: app.New(options...),
}
- *utils.Cfg.TeamSettings.MaxUsersPerTeam = 50
- *utils.Cfg.RateLimitSettings.Enable = false
- utils.Cfg.EmailSettings.SendEmailNotifications = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.MaxUsersPerTeam = 50 })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.RateLimitSettings.Enable = false })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SendEmailNotifications = true })
utils.DisableDebugLogForTest()
+ prevListenAddress := *th.App.Config().ServiceSettings.ListenAddress
+ if testStore != nil {
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.ListenAddress = ":0" })
+ }
th.App.StartServer()
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.ListenAddress = prevListenAddress })
Init(th.App, th.App.Srv.Router, true)
wsapi.Init(th.App, th.App.Srv.WebSocketRouter)
utils.EnableDebugLogForTest()
th.App.Srv.Store.MarkSystemRanUnitTests()
- *utils.Cfg.TeamSettings.EnableOpenServer = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = true })
utils.SetIsLicensed(enterprise)
if enterprise {
diff --git a/api4/brand.go b/api4/brand.go
index 23bfc557d..ce9f32b6d 100644
--- a/api4/brand.go
+++ b/api4/brand.go
@@ -32,12 +32,12 @@ func getBrandImage(c *Context, w http.ResponseWriter, r *http.Request) {
}
func uploadBrandImage(c *Context, w http.ResponseWriter, r *http.Request) {
- if r.ContentLength > *utils.Cfg.FileSettings.MaxFileSize {
+ if r.ContentLength > *c.App.Config().FileSettings.MaxFileSize {
c.Err = model.NewAppError("uploadBrandImage", "api.admin.upload_brand_image.too_large.app_error", nil, "", http.StatusRequestEntityTooLarge)
return
}
- if err := r.ParseMultipartForm(*utils.Cfg.FileSettings.MaxFileSize); err != nil {
+ if err := r.ParseMultipartForm(*c.App.Config().FileSettings.MaxFileSize); err != nil {
c.Err = model.NewAppError("uploadBrandImage", "api.admin.upload_brand_image.parse.app_error", nil, "", http.StatusBadRequest)
return
}
diff --git a/api4/channel_test.go b/api4/channel_test.go
index 44f3a4ad7..af47aca95 100644
--- a/api4/channel_test.go
+++ b/api4/channel_test.go
@@ -83,17 +83,17 @@ func TestCreateChannel(t *testing.T) {
// Check permissions with policy config changes
isLicensed := utils.IsLicensed()
license := utils.License()
- restrictPublicChannel := *utils.Cfg.TeamSettings.RestrictPublicChannelCreation
- restrictPrivateChannel := *utils.Cfg.TeamSettings.RestrictPrivateChannelCreation
+ restrictPublicChannel := *th.App.Config().TeamSettings.RestrictPublicChannelCreation
+ restrictPrivateChannel := *th.App.Config().TeamSettings.RestrictPrivateChannelCreation
defer func() {
- *utils.Cfg.TeamSettings.RestrictPublicChannelCreation = restrictPublicChannel
- *utils.Cfg.TeamSettings.RestrictPrivateChannelCreation = restrictPrivateChannel
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPublicChannelCreation = restrictPublicChannel })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPrivateChannelCreation = restrictPrivateChannel })
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
utils.SetDefaultRolesBasedOnConfig()
}()
- *utils.Cfg.TeamSettings.RestrictPublicChannelCreation = model.PERMISSIONS_ALL
- *utils.Cfg.TeamSettings.RestrictPrivateChannelCreation = model.PERMISSIONS_ALL
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPublicChannelCreation = model.PERMISSIONS_ALL })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPrivateChannelCreation = model.PERMISSIONS_ALL })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -107,8 +107,12 @@ func TestCreateChannel(t *testing.T) {
_, resp = Client.CreateChannel(private)
CheckNoError(t, resp)
- *utils.Cfg.TeamSettings.RestrictPublicChannelCreation = model.PERMISSIONS_TEAM_ADMIN
- *utils.Cfg.TeamSettings.RestrictPrivateChannelCreation = model.PERMISSIONS_TEAM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPublicChannelCreation = model.PERMISSIONS_TEAM_ADMIN
+ })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelCreation = model.PERMISSIONS_TEAM_ADMIN
+ })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.CreateChannel(channel)
@@ -135,8 +139,12 @@ func TestCreateChannel(t *testing.T) {
_, resp = th.SystemAdminClient.CreateChannel(private)
CheckNoError(t, resp)
- *utils.Cfg.TeamSettings.RestrictPublicChannelCreation = model.PERMISSIONS_SYSTEM_ADMIN
- *utils.Cfg.TeamSettings.RestrictPrivateChannelCreation = model.PERMISSIONS_SYSTEM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPublicChannelCreation = model.PERMISSIONS_SYSTEM_ADMIN
+ })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelCreation = model.PERMISSIONS_SYSTEM_ADMIN
+ })
utils.SetDefaultRolesBasedOnConfig()
th.LoginBasic()
@@ -880,17 +888,17 @@ func TestDeleteChannel(t *testing.T) {
isLicensed := utils.IsLicensed()
license := utils.License()
- restrictPublicChannel := *utils.Cfg.TeamSettings.RestrictPublicChannelManagement
- restrictPrivateChannel := *utils.Cfg.TeamSettings.RestrictPrivateChannelManagement
+ restrictPublicChannel := *th.App.Config().TeamSettings.RestrictPublicChannelManagement
+ restrictPrivateChannel := *th.App.Config().TeamSettings.RestrictPrivateChannelManagement
defer func() {
- *utils.Cfg.TeamSettings.RestrictPublicChannelManagement = restrictPublicChannel
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManagement = restrictPrivateChannel
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPublicChannelManagement = restrictPublicChannel })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPrivateChannelManagement = restrictPrivateChannel })
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
utils.SetDefaultRolesBasedOnConfig()
}()
- *utils.Cfg.TeamSettings.RestrictPublicChannelManagement = model.PERMISSIONS_ALL
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManagement = model.PERMISSIONS_ALL
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPublicChannelManagement = model.PERMISSIONS_ALL })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPrivateChannelManagement = model.PERMISSIONS_ALL })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -915,8 +923,12 @@ func TestDeleteChannel(t *testing.T) {
_, resp = Client.DeleteChannel(privateChannel7.Id)
CheckNoError(t, resp)
- *utils.Cfg.TeamSettings.RestrictPublicChannelDeletion = model.PERMISSIONS_CHANNEL_ADMIN
- *utils.Cfg.TeamSettings.RestrictPrivateChannelDeletion = model.PERMISSIONS_CHANNEL_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPublicChannelDeletion = model.PERMISSIONS_CHANNEL_ADMIN
+ })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelDeletion = model.PERMISSIONS_CHANNEL_ADMIN
+ })
utils.SetDefaultRolesBasedOnConfig()
// channels created by SystemAdmin
@@ -964,8 +976,12 @@ func TestDeleteChannel(t *testing.T) {
_, resp = Client.DeleteChannel(privateChannel7.Id)
CheckNoError(t, resp)
- *utils.Cfg.TeamSettings.RestrictPublicChannelDeletion = model.PERMISSIONS_TEAM_ADMIN
- *utils.Cfg.TeamSettings.RestrictPrivateChannelDeletion = model.PERMISSIONS_TEAM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPublicChannelDeletion = model.PERMISSIONS_TEAM_ADMIN
+ })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelDeletion = model.PERMISSIONS_TEAM_ADMIN
+ })
utils.SetDefaultRolesBasedOnConfig()
th.UpdateUserToNonTeamAdmin(user, team)
th.App.InvalidateAllCaches()
@@ -1011,8 +1027,12 @@ func TestDeleteChannel(t *testing.T) {
_, resp = Client.DeleteChannel(privateChannel7.Id)
CheckNoError(t, resp)
- *utils.Cfg.TeamSettings.RestrictPublicChannelDeletion = model.PERMISSIONS_SYSTEM_ADMIN
- *utils.Cfg.TeamSettings.RestrictPrivateChannelDeletion = model.PERMISSIONS_SYSTEM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPublicChannelDeletion = model.PERMISSIONS_SYSTEM_ADMIN
+ })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelDeletion = model.PERMISSIONS_SYSTEM_ADMIN
+ })
utils.SetDefaultRolesBasedOnConfig()
// channels created by SystemAdmin
@@ -1781,11 +1801,15 @@ func TestAddChannelMember(t *testing.T) {
CheckNoError(t, resp)
// Test policy does not apply to TE.
- restrictPrivateChannel := *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers
+ restrictPrivateChannel := *th.App.Config().TeamSettings.RestrictPrivateChannelManageMembers
defer func() {
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = restrictPrivateChannel
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = restrictPrivateChannel
+ })
}()
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_CHANNEL_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_CHANNEL_ADMIN
+ })
utils.SetDefaultRolesBasedOnConfig()
Client.Login(user2.Username, user2.Password)
@@ -1807,7 +1831,7 @@ func TestAddChannelMember(t *testing.T) {
utils.SetLicense(license)
utils.SetDefaultRolesBasedOnConfig()
}()
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_ALL
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_ALL })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -1826,7 +1850,9 @@ func TestAddChannelMember(t *testing.T) {
Client.Logout()
// Test with CHANNEL_ADMIN level permission.
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_CHANNEL_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_CHANNEL_ADMIN
+ })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -1856,7 +1882,9 @@ func TestAddChannelMember(t *testing.T) {
Client.Logout()
// Test with TEAM_ADMIN level permission.
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_TEAM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_TEAM_ADMIN
+ })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -1886,7 +1914,9 @@ func TestAddChannelMember(t *testing.T) {
Client.Logout()
// Test with SYSTEM_ADMIN level permission.
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_SYSTEM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_SYSTEM_ADMIN
+ })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -1967,11 +1997,15 @@ func TestRemoveChannelMember(t *testing.T) {
th.App.InvalidateAllCaches()
// Test policy does not apply to TE.
- restrictPrivateChannel := *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers
+ restrictPrivateChannel := *th.App.Config().TeamSettings.RestrictPrivateChannelManageMembers
defer func() {
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = restrictPrivateChannel
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = restrictPrivateChannel
+ })
}()
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_CHANNEL_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_CHANNEL_ADMIN
+ })
utils.SetDefaultRolesBasedOnConfig()
privateChannel := th.CreateChannelWithClient(th.SystemAdminClient, model.CHANNEL_PRIVATE)
@@ -1991,7 +2025,7 @@ func TestRemoveChannelMember(t *testing.T) {
utils.SetLicense(license)
utils.SetDefaultRolesBasedOnConfig()
}()
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_ALL
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_ALL })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -2008,7 +2042,9 @@ func TestRemoveChannelMember(t *testing.T) {
CheckNoError(t, resp)
// Test with CHANNEL_ADMIN level permission.
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_CHANNEL_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_CHANNEL_ADMIN
+ })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -2033,7 +2069,9 @@ func TestRemoveChannelMember(t *testing.T) {
CheckNoError(t, resp)
// Test with TEAM_ADMIN level permission.
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_TEAM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_TEAM_ADMIN
+ })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -2058,7 +2096,9 @@ func TestRemoveChannelMember(t *testing.T) {
CheckNoError(t, resp)
// Test with SYSTEM_ADMIN level permission.
- *utils.Cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_SYSTEM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.TeamSettings.RestrictPrivateChannelManageMembers = model.PERMISSIONS_SYSTEM_ADMIN
+ })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
diff --git a/api4/command_help_test.go b/api4/command_help_test.go
index 68a098636..c5ff819b3 100644
--- a/api4/command_help_test.go
+++ b/api4/command_help_test.go
@@ -7,7 +7,6 @@ import (
"testing"
"github.com/mattermost/mattermost-server/model"
- "github.com/mattermost/mattermost-server/utils"
)
func TestHelpCommand(t *testing.T) {
@@ -17,18 +16,20 @@ func TestHelpCommand(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- HelpLink := *utils.Cfg.SupportSettings.HelpLink
+ HelpLink := *th.App.Config().SupportSettings.HelpLink
defer func() {
- *utils.Cfg.SupportSettings.HelpLink = HelpLink
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.SupportSettings.HelpLink = HelpLink })
}()
- *utils.Cfg.SupportSettings.HelpLink = ""
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.SupportSettings.HelpLink = "" })
rs1, _ := Client.ExecuteCommand(channel.Id, "/help ")
if rs1.GotoLocation != model.SUPPORT_SETTINGS_DEFAULT_HELP_LINK {
t.Fatal("failed to default help link")
}
- *utils.Cfg.SupportSettings.HelpLink = "https://docs.mattermost.com/guides/user.html"
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.SupportSettings.HelpLink = "https://docs.mattermost.com/guides/user.html"
+ })
rs2, _ := Client.ExecuteCommand(channel.Id, "/help ")
if rs2.GotoLocation != "https://docs.mattermost.com/guides/user.html" {
t.Fatal("failed to help link")
diff --git a/api4/command_test.go b/api4/command_test.go
index 716b3e414..3be1af061 100644
--- a/api4/command_test.go
+++ b/api4/command_test.go
@@ -9,7 +9,6 @@ import (
"testing"
"github.com/mattermost/mattermost-server/model"
- "github.com/mattermost/mattermost-server/utils"
)
func TestCreateCommand(t *testing.T) {
@@ -17,11 +16,11 @@ func TestCreateCommand(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
newCmd := &model.Command{
CreatorId: th.BasicUser.Id,
@@ -53,7 +52,7 @@ func TestCreateCommand(t *testing.T) {
CheckBadRequestStatus(t, resp)
CheckErrorMessage(t, resp, "model.command.is_valid.method.app_error")
- *utils.Cfg.ServiceSettings.EnableCommands = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = false })
newCmd.Method = "P"
newCmd.Trigger = "testcommand"
_, resp = th.SystemAdminClient.CreateCommand(newCmd)
@@ -68,11 +67,11 @@ func TestUpdateCommand(t *testing.T) {
user := th.SystemAdminUser
team := th.BasicTeam
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
cmd1 := &model.Command{
CreatorId: user.Id,
@@ -154,11 +153,11 @@ func TestDeleteCommand(t *testing.T) {
user := th.SystemAdminUser
team := th.BasicTeam
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
cmd1 := &model.Command{
CreatorId: user.Id,
@@ -352,11 +351,11 @@ func TestRegenToken(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
newCmd := &model.Command{
CreatorId: th.BasicUser.Id,
@@ -388,14 +387,16 @@ func TestExecuteCommand(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
- allowedInternalConnections := *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
+ allowedInternalConnections := *th.App.Config().ServiceSettings.AllowedUntrustedInternalConnections
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
- utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
- *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost"
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost" })
postCmd := &model.Command{
CreatorId: th.BasicUser.Id,
@@ -498,14 +499,16 @@ func TestExecuteCommandAgainstChannelOnAnotherTeam(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
- allowedInternalConnections := *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
+ allowedInternalConnections := *th.App.Config().ServiceSettings.AllowedUntrustedInternalConnections
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
- utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
- *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost"
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost" })
// create a slash command on some other team where we have permission to do so
team2 := th.CreateTeam()
@@ -531,14 +534,16 @@ func TestExecuteCommandAgainstChannelUserIsNotIn(t *testing.T) {
defer th.TearDown()
client := th.Client
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
- allowedInternalConnections := *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
+ allowedInternalConnections := *th.App.Config().ServiceSettings.AllowedUntrustedInternalConnections
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
- utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
- *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost"
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost" })
// create a slash command on some other team where we have permission to do so
team2 := th.CreateTeam()
@@ -569,14 +574,16 @@ func TestExecuteCommandInDirectMessageChannel(t *testing.T) {
defer th.TearDown()
client := th.Client
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
- allowedInternalConnections := *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
+ allowedInternalConnections := *th.App.Config().ServiceSettings.AllowedUntrustedInternalConnections
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
- utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
- *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost"
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost" })
// create a slash command on some other team where we have permission to do so
team2 := th.CreateTeam()
@@ -609,14 +616,16 @@ func TestExecuteCommandInTeamUserIsNotOn(t *testing.T) {
defer th.TearDown()
client := th.Client
- enableCommands := *utils.Cfg.ServiceSettings.EnableCommands
- allowedInternalConnections := *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections
+ enableCommands := *th.App.Config().ServiceSettings.EnableCommands
+ allowedInternalConnections := *th.App.Config().ServiceSettings.AllowedUntrustedInternalConnections
defer func() {
- utils.Cfg.ServiceSettings.EnableCommands = &enableCommands
- utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableCommands = &enableCommands })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ })
}()
- *utils.Cfg.ServiceSettings.EnableCommands = true
- *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost"
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCommands = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost" })
// create a team that the user isn't a part of
team2 := th.CreateTeam()
diff --git a/api4/context.go b/api4/context.go
index c526f38bb..44334aabf 100644
--- a/api4/context.go
+++ b/api4/context.go
@@ -182,7 +182,7 @@ func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
c.Err.Where = r.URL.Path
// Block out detailed error when not in developer mode
- if !*utils.Cfg.ServiceSettings.EnableDeveloper {
+ if !*c.App.Config().ServiceSettings.EnableDeveloper {
c.Err.DetailedError = ""
}
@@ -244,7 +244,7 @@ func (c *Context) IsSystemAdmin() bool {
}
func (c *Context) SessionRequired() {
- if !*utils.Cfg.ServiceSettings.EnableUserAccessTokens && c.Session.Props[model.SESSION_PROP_TYPE] == model.SESSION_TYPE_USER_ACCESS_TOKEN {
+ if !*c.App.Config().ServiceSettings.EnableUserAccessTokens && c.Session.Props[model.SESSION_PROP_TYPE] == model.SESSION_TYPE_USER_ACCESS_TOKEN {
c.Err = model.NewAppError("", "api.context.session_expired.app_error", nil, "UserAccessToken", http.StatusUnauthorized)
return
}
@@ -257,7 +257,7 @@ func (c *Context) SessionRequired() {
func (c *Context) MfaRequired() {
// Must be licensed for MFA and have it configured for enforcement
- if !utils.IsLicensed() || !*utils.License().Features.MFA || !*utils.Cfg.ServiceSettings.EnableMultifactorAuthentication || !*utils.Cfg.ServiceSettings.EnforceMultifactorAuthentication {
+ if !utils.IsLicensed() || !*utils.License().Features.MFA || !*c.App.Config().ServiceSettings.EnableMultifactorAuthentication || !*c.App.Config().ServiceSettings.EnforceMultifactorAuthentication {
return
}
diff --git a/api4/elasticsearch.go b/api4/elasticsearch.go
index 2a378f54e..eb5a09876 100644
--- a/api4/elasticsearch.go
+++ b/api4/elasticsearch.go
@@ -22,7 +22,7 @@ func (api *API) InitElasticsearch() {
func testElasticsearch(c *Context, w http.ResponseWriter, r *http.Request) {
cfg := model.ConfigFromJson(r.Body)
if cfg == nil {
- cfg = utils.Cfg
+ cfg = c.App.Config()
}
if !app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
diff --git a/api4/emoji.go b/api4/emoji.go
index d014250d6..f2335b067 100644
--- a/api4/emoji.go
+++ b/api4/emoji.go
@@ -26,7 +26,7 @@ func (api *API) InitEmoji() {
}
func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) {
- if !*utils.Cfg.ServiceSettings.EnableCustomEmoji {
+ if !*c.App.Config().ServiceSettings.EnableCustomEmoji {
c.Err = model.NewAppError("createEmoji", "api.emoji.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -37,7 +37,7 @@ func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if len(*utils.Cfg.FileSettings.DriverName) == 0 {
+ if len(*c.App.Config().FileSettings.DriverName) == 0 {
c.Err = model.NewAppError("createEmoji", "api.emoji.storage.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -76,7 +76,7 @@ func createEmoji(c *Context, w http.ResponseWriter, r *http.Request) {
}
func getEmojiList(c *Context, w http.ResponseWriter, r *http.Request) {
- if !*utils.Cfg.ServiceSettings.EnableCustomEmoji {
+ if !*c.App.Config().ServiceSettings.EnableCustomEmoji {
c.Err = model.NewAppError("getEmoji", "api.emoji.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -122,7 +122,7 @@ func getEmoji(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if !*utils.Cfg.ServiceSettings.EnableCustomEmoji {
+ if !*c.App.Config().ServiceSettings.EnableCustomEmoji {
c.Err = model.NewAppError("getEmoji", "api.emoji.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -142,12 +142,12 @@ func getEmojiImage(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if !*utils.Cfg.ServiceSettings.EnableCustomEmoji {
+ if !*c.App.Config().ServiceSettings.EnableCustomEmoji {
c.Err = model.NewAppError("getEmojiImage", "api.emoji.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
- if len(*utils.Cfg.FileSettings.DriverName) == 0 {
+ if len(*c.App.Config().FileSettings.DriverName) == 0 {
c.Err = model.NewAppError("getEmojiImage", "api.emoji.storage.app_error", nil, "", http.StatusNotImplemented)
return
}
diff --git a/api4/emoji_test.go b/api4/emoji_test.go
index fe746f304..e35abdf08 100644
--- a/api4/emoji_test.go
+++ b/api4/emoji_test.go
@@ -18,11 +18,11 @@ func TestCreateEmoji(t *testing.T) {
defer th.TearDown()
Client := th.Client
- EnableCustomEmoji := *utils.Cfg.ServiceSettings.EnableCustomEmoji
+ EnableCustomEmoji := *th.App.Config().ServiceSettings.EnableCustomEmoji
defer func() {
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji })
}()
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = false })
emoji := &model.Emoji{
CreatorId: th.BasicUser.Id,
@@ -33,7 +33,7 @@ func TestCreateEmoji(t *testing.T) {
_, resp := Client.CreateEmoji(emoji, utils.CreateTestGif(t, 10, 10), "image.gif")
CheckNotImplementedStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = true })
// try to create a valid gif emoji when they're enabled
newEmoji, resp := Client.CreateEmoji(emoji, utils.CreateTestGif(t, 10, 10), "image.gif")
CheckNoError(t, resp)
@@ -146,11 +146,11 @@ func TestGetEmojiList(t *testing.T) {
defer th.TearDown()
Client := th.Client
- EnableCustomEmoji := *utils.Cfg.ServiceSettings.EnableCustomEmoji
+ EnableCustomEmoji := *th.App.Config().ServiceSettings.EnableCustomEmoji
defer func() {
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji })
}()
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = true })
emojis := []*model.Emoji{
{
@@ -216,11 +216,11 @@ func TestDeleteEmoji(t *testing.T) {
defer th.TearDown()
Client := th.Client
- EnableCustomEmoji := *utils.Cfg.ServiceSettings.EnableCustomEmoji
+ EnableCustomEmoji := *th.App.Config().ServiceSettings.EnableCustomEmoji
defer func() {
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji })
}()
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = true })
emoji := &model.Emoji{
CreatorId: th.BasicUser.Id,
@@ -283,11 +283,11 @@ func TestGetEmoji(t *testing.T) {
defer th.TearDown()
Client := th.Client
- EnableCustomEmoji := *utils.Cfg.ServiceSettings.EnableCustomEmoji
+ EnableCustomEmoji := *th.App.Config().ServiceSettings.EnableCustomEmoji
defer func() {
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji })
}()
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = true })
emoji := &model.Emoji{
CreatorId: th.BasicUser.Id,
@@ -312,13 +312,13 @@ func TestGetEmojiImage(t *testing.T) {
defer th.TearDown()
Client := th.Client
- EnableCustomEmoji := *utils.Cfg.ServiceSettings.EnableCustomEmoji
- DriverName := *utils.Cfg.FileSettings.DriverName
+ EnableCustomEmoji := *th.App.Config().ServiceSettings.EnableCustomEmoji
+ DriverName := *th.App.Config().FileSettings.DriverName
defer func() {
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji
- *utils.Cfg.FileSettings.DriverName = DriverName
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = EnableCustomEmoji })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.DriverName = DriverName })
}()
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = true })
emoji1 := &model.Emoji{
CreatorId: th.BasicUser.Id,
@@ -328,20 +328,20 @@ func TestGetEmojiImage(t *testing.T) {
emoji1, resp := Client.CreateEmoji(emoji1, utils.CreateTestGif(t, 10, 10), "image.gif")
CheckNoError(t, resp)
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = false })
_, resp = Client.GetEmojiImage(emoji1.Id)
CheckNotImplementedStatus(t, resp)
CheckErrorMessage(t, resp, "api.emoji.disabled.app_error")
- *utils.Cfg.FileSettings.DriverName = ""
- *utils.Cfg.ServiceSettings.EnableCustomEmoji = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.DriverName = "" })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = true })
_, resp = Client.GetEmojiImage(emoji1.Id)
CheckNotImplementedStatus(t, resp)
CheckErrorMessage(t, resp, "api.emoji.storage.app_error")
- *utils.Cfg.FileSettings.DriverName = DriverName
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.DriverName = DriverName })
emojiImage, resp := Client.GetEmojiImage(emoji1.Id)
CheckNoError(t, resp)
diff --git a/api4/file.go b/api4/file.go
index 2c0b85ce7..933640c44 100644
--- a/api4/file.go
+++ b/api4/file.go
@@ -58,17 +58,17 @@ func (api *API) InitFile() {
}
func uploadFile(c *Context, w http.ResponseWriter, r *http.Request) {
- if !*utils.Cfg.FileSettings.EnableFileAttachments {
+ if !*c.App.Config().FileSettings.EnableFileAttachments {
c.Err = model.NewAppError("uploadFile", "api.file.attachments.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
- if r.ContentLength > *utils.Cfg.FileSettings.MaxFileSize {
+ if r.ContentLength > *c.App.Config().FileSettings.MaxFileSize {
c.Err = model.NewAppError("uploadFile", "api.file.upload_file.too_large.app_error", nil, "", http.StatusRequestEntityTooLarge)
return
}
- if err := r.ParseMultipartForm(*utils.Cfg.FileSettings.MaxFileSize); err != nil {
+ if err := r.ParseMultipartForm(*c.App.Config().FileSettings.MaxFileSize); err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
@@ -179,7 +179,7 @@ func getFileLink(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if !utils.Cfg.FileSettings.EnablePublicLink {
+ if !c.App.Config().FileSettings.EnablePublicLink {
c.Err = model.NewAppError("getPublicLink", "api.file.get_public_link.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -269,7 +269,7 @@ func getPublicFile(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if !utils.Cfg.FileSettings.EnablePublicLink {
+ if !c.App.Config().FileSettings.EnablePublicLink {
c.Err = model.NewAppError("getPublicFile", "api.file.get_public_link.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -288,7 +288,7 @@ func getPublicFile(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if hash != app.GeneratePublicLinkHash(info.Id, *utils.Cfg.FileSettings.PublicLinkSalt) {
+ if hash != app.GeneratePublicLinkHash(info.Id, *c.App.Config().FileSettings.PublicLinkSalt) {
c.Err = model.NewAppError("getPublicFile", "api.file.get_file.public_invalid.app_error", nil, "", http.StatusBadRequest)
http.Redirect(w, r, c.GetSiteURLHeader()+"/error?message="+utils.T(c.Err.Message), http.StatusTemporaryRedirect)
return
diff --git a/api4/file_test.go b/api4/file_test.go
index 615e601dc..0d44f2c86 100644
--- a/api4/file_test.go
+++ b/api4/file_test.go
@@ -13,7 +13,6 @@ import (
"github.com/mattermost/mattermost-server/app"
"github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/store"
- "github.com/mattermost/mattermost-server/utils"
)
func TestUploadFile(t *testing.T) {
@@ -114,11 +113,11 @@ func TestUploadFile(t *testing.T) {
_, resp = th.SystemAdminClient.UploadFile(data, channel.Id, "test.png")
CheckNoError(t, resp)
- enableFileAttachments := *utils.Cfg.FileSettings.EnableFileAttachments
+ enableFileAttachments := *th.App.Config().FileSettings.EnableFileAttachments
defer func() {
- *utils.Cfg.FileSettings.EnableFileAttachments = enableFileAttachments
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.EnableFileAttachments = enableFileAttachments })
}()
- *utils.Cfg.FileSettings.EnableFileAttachments = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.EnableFileAttachments = false })
_, resp = th.SystemAdminClient.UploadFile(data, channel.Id, "test.png")
if resp.StatusCode != http.StatusNotImplemented && resp.StatusCode != 0 {
@@ -133,7 +132,7 @@ func TestGetFile(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- if *utils.Cfg.FileSettings.DriverName == "" {
+ if *th.App.Config().FileSettings.DriverName == "" {
t.Skip("skipping because no file driver is enabled")
}
@@ -183,7 +182,7 @@ func TestGetFileHeaders(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- if *utils.Cfg.FileSettings.DriverName == "" {
+ if *th.App.Config().FileSettings.DriverName == "" {
t.Skip("skipping because no file driver is enabled")
}
@@ -247,7 +246,7 @@ func TestGetFileThumbnail(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- if *utils.Cfg.FileSettings.DriverName == "" {
+ if *th.App.Config().FileSettings.DriverName == "" {
t.Skip("skipping because no file driver is enabled")
}
@@ -299,18 +298,18 @@ func TestGetFileLink(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- if *utils.Cfg.FileSettings.DriverName == "" {
+ if *th.App.Config().FileSettings.DriverName == "" {
t.Skip("skipping because no file driver is enabled")
}
- enablePublicLink := utils.Cfg.FileSettings.EnablePublicLink
- publicLinkSalt := *utils.Cfg.FileSettings.PublicLinkSalt
+ enablePublicLink := th.App.Config().FileSettings.EnablePublicLink
+ publicLinkSalt := *th.App.Config().FileSettings.PublicLinkSalt
defer func() {
- utils.Cfg.FileSettings.EnablePublicLink = enablePublicLink
- *utils.Cfg.FileSettings.PublicLinkSalt = publicLinkSalt
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.FileSettings.EnablePublicLink = enablePublicLink })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.PublicLinkSalt = publicLinkSalt })
}()
- utils.Cfg.FileSettings.EnablePublicLink = true
- *utils.Cfg.FileSettings.PublicLinkSalt = model.NewId()
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.FileSettings.EnablePublicLink = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.PublicLinkSalt = model.NewId() })
fileId := ""
if data, err := readTestFile("test.png"); err != nil {
@@ -328,14 +327,14 @@ func TestGetFileLink(t *testing.T) {
// Hacky way to assign file to a post (usually would be done by CreatePost call)
store.Must(th.App.Srv.Store.FileInfo().AttachToPost(fileId, th.BasicPost.Id))
- utils.Cfg.FileSettings.EnablePublicLink = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.FileSettings.EnablePublicLink = false })
_, resp = Client.GetFileLink(fileId)
CheckNotImplementedStatus(t, resp)
// Wait a bit for files to ready
time.Sleep(2 * time.Second)
- utils.Cfg.FileSettings.EnablePublicLink = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.FileSettings.EnablePublicLink = true })
link, resp = Client.GetFileLink(fileId)
CheckNoError(t, resp)
if link == "" {
@@ -374,7 +373,7 @@ func TestGetFilePreview(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- if *utils.Cfg.FileSettings.DriverName == "" {
+ if *th.App.Config().FileSettings.DriverName == "" {
t.Skip("skipping because no file driver is enabled")
}
@@ -427,7 +426,7 @@ func TestGetFileInfo(t *testing.T) {
user := th.BasicUser
channel := th.BasicChannel
- if *utils.Cfg.FileSettings.DriverName == "" {
+ if *th.App.Config().FileSettings.DriverName == "" {
t.Skip("skipping because no file driver is enabled")
}
@@ -493,18 +492,18 @@ func TestGetPublicFile(t *testing.T) {
Client := th.Client
channel := th.BasicChannel
- if *utils.Cfg.FileSettings.DriverName == "" {
+ if *th.App.Config().FileSettings.DriverName == "" {
t.Skip("skipping because no file driver is enabled")
}
- enablePublicLink := utils.Cfg.FileSettings.EnablePublicLink
- publicLinkSalt := *utils.Cfg.FileSettings.PublicLinkSalt
+ enablePublicLink := th.App.Config().FileSettings.EnablePublicLink
+ publicLinkSalt := *th.App.Config().FileSettings.PublicLinkSalt
defer func() {
- utils.Cfg.FileSettings.EnablePublicLink = enablePublicLink
- *utils.Cfg.FileSettings.PublicLinkSalt = publicLinkSalt
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.FileSettings.EnablePublicLink = enablePublicLink })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.PublicLinkSalt = publicLinkSalt })
}()
- utils.Cfg.FileSettings.EnablePublicLink = true
- *utils.Cfg.FileSettings.PublicLinkSalt = GenerateTestId()
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.FileSettings.EnablePublicLink = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.PublicLinkSalt = GenerateTestId() })
fileId := ""
if data, err := readTestFile("test.png"); err != nil {
@@ -535,14 +534,14 @@ func TestGetPublicFile(t *testing.T) {
t.Fatal("should've failed to get image with public link without hash", resp.Status)
}
- utils.Cfg.FileSettings.EnablePublicLink = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.FileSettings.EnablePublicLink = false })
if resp, err := http.Get(link); err == nil && resp.StatusCode != http.StatusNotImplemented {
t.Fatal("should've failed to get image with disabled public link")
}
// test after the salt has changed
- utils.Cfg.FileSettings.EnablePublicLink = true
- *utils.Cfg.FileSettings.PublicLinkSalt = GenerateTestId()
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.FileSettings.EnablePublicLink = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.FileSettings.PublicLinkSalt = GenerateTestId() })
if resp, err := http.Get(link); err == nil && resp.StatusCode != http.StatusBadRequest {
t.Fatal("should've failed to get image with public link after salt changed")
diff --git a/api4/oauth.go b/api4/oauth.go
index c60f240f6..8933f0863 100644
--- a/api4/oauth.go
+++ b/api4/oauth.go
@@ -313,7 +313,7 @@ func deauthorizeOAuthApp(c *Context, w http.ResponseWriter, r *http.Request) {
}
func authorizeOAuthPage(c *Context, w http.ResponseWriter, r *http.Request) {
- if !utils.Cfg.ServiceSettings.EnableOAuthServiceProvider {
+ if !c.App.Config().ServiceSettings.EnableOAuthServiceProvider {
err := model.NewAppError("authorizeOAuth", "api.oauth.authorize_oauth.disabled.app_error", nil, "", http.StatusNotImplemented)
utils.RenderWebError(err, w, r)
return
@@ -560,7 +560,7 @@ func signupWithOAuth(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if !utils.Cfg.TeamSettings.EnableUserCreation {
+ if !c.App.Config().TeamSettings.EnableUserCreation {
c.Err = model.NewAppError("signupWithOAuth", "api.oauth.singup_with_oauth.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
diff --git a/api4/oauth_test.go b/api4/oauth_test.go
index 9fa794e27..fbe5f11e5 100644
--- a/api4/oauth_test.go
+++ b/api4/oauth_test.go
@@ -19,13 +19,13 @@ func TestCreateOAuthApp(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
- adminOnly := *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
+ adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
utils.SetDefaultRolesBasedOnConfig()
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}, IsTrusted: true}
@@ -42,12 +42,12 @@ func TestCreateOAuthApp(t *testing.T) {
t.Fatal("trusted did no match")
}
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.CreateOAuthApp(oapp)
CheckForbiddenStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
rapp, resp = Client.CreateOAuthApp(oapp)
CheckNoError(t, resp)
@@ -75,7 +75,7 @@ func TestCreateOAuthApp(t *testing.T) {
_, resp = Client.CreateOAuthApp(oapp)
CheckUnauthorizedStatus(t, resp)
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = false })
oapp.Name = GenerateTestAppName()
_, resp = AdminClient.CreateOAuthApp(oapp)
CheckNotImplementedStatus(t, resp)
@@ -87,13 +87,13 @@ func TestUpdateOAuthApp(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
- adminOnly := *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
+ adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
utils.SetDefaultRolesBasedOnConfig()
oapp := &model.OAuthApp{
@@ -101,7 +101,7 @@ func TestUpdateOAuthApp(t *testing.T) {
IsTrusted: false,
IconURL: "https://nowhere.com/img",
Homepage: "https://nowhere.com",
- Description: "test",
+ Description: "test",
CallbackUrls: []string{"https://callback.com"},
}
@@ -112,7 +112,7 @@ func TestUpdateOAuthApp(t *testing.T) {
oapp.IconURL = "https://nowhere.com/img_update"
oapp.Homepage = "https://nowhere_update.com"
oapp.Description = "test_update"
- oapp.CallbackUrls = []string{"https://callback_update.com","https://another_callback.com"}
+ oapp.CallbackUrls = []string{"https://callback_update.com", "https://another_callback.com"}
updatedApp, resp := AdminClient.UpdateOAuthApp(oapp)
CheckNoError(t, resp)
@@ -153,7 +153,7 @@ func TestUpdateOAuthApp(t *testing.T) {
for i, callbackUrl := range updatedApp.CallbackUrls {
if callbackUrl != oapp.CallbackUrls[i] {
t.Fatal("Description should have updated")
- }
+ }
}
}
@@ -165,7 +165,7 @@ func TestUpdateOAuthApp(t *testing.T) {
t.Fatal("IsTrusted should have updated")
}
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.UpdateOAuthApp(oapp)
CheckForbiddenStatus(t, resp)
@@ -174,7 +174,7 @@ func TestUpdateOAuthApp(t *testing.T) {
_, resp = AdminClient.UpdateOAuthApp(oapp)
CheckNotFoundStatus(t, resp)
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = false })
_, resp = AdminClient.UpdateOAuthApp(oapp)
CheckNotImplementedStatus(t, resp)
@@ -193,14 +193,14 @@ func TestGetOAuthApps(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
- adminOnly := *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
+ adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
@@ -244,7 +244,7 @@ func TestGetOAuthApps(t *testing.T) {
t.Fatal("wrong apps returned")
}
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.GetOAuthApps(0, 1000)
@@ -255,7 +255,7 @@ func TestGetOAuthApps(t *testing.T) {
_, resp = Client.GetOAuthApps(0, 1000)
CheckUnauthorizedStatus(t, resp)
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = false })
_, resp = AdminClient.GetOAuthApps(0, 1000)
CheckNotImplementedStatus(t, resp)
}
@@ -266,14 +266,14 @@ func TestGetOAuthApp(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
- adminOnly := *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
+ adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
@@ -313,7 +313,7 @@ func TestGetOAuthApp(t *testing.T) {
_, resp = Client.GetOAuthApp(rapp.Id)
CheckForbiddenStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.GetOAuthApp(rapp2.Id)
@@ -330,7 +330,7 @@ func TestGetOAuthApp(t *testing.T) {
_, resp = AdminClient.GetOAuthApp(model.NewId())
CheckNotFoundStatus(t, resp)
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = false })
_, resp = AdminClient.GetOAuthApp(rapp.Id)
CheckNotImplementedStatus(t, resp)
}
@@ -341,14 +341,14 @@ func TestGetOAuthAppInfo(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
- adminOnly := *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
+ adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
@@ -388,7 +388,7 @@ func TestGetOAuthAppInfo(t *testing.T) {
_, resp = Client.GetOAuthAppInfo(rapp.Id)
CheckNoError(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.GetOAuthAppInfo(rapp2.Id)
@@ -405,7 +405,7 @@ func TestGetOAuthAppInfo(t *testing.T) {
_, resp = AdminClient.GetOAuthAppInfo(model.NewId())
CheckNotFoundStatus(t, resp)
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = false })
_, resp = AdminClient.GetOAuthAppInfo(rapp.Id)
CheckNotImplementedStatus(t, resp)
}
@@ -416,14 +416,14 @@ func TestDeleteOAuthApp(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
- adminOnly := *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
+ adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
@@ -458,7 +458,7 @@ func TestDeleteOAuthApp(t *testing.T) {
_, resp = Client.DeleteOAuthApp(rapp2.Id)
CheckNoError(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.DeleteOAuthApp(rapp.Id)
CheckForbiddenStatus(t, resp)
@@ -473,7 +473,7 @@ func TestDeleteOAuthApp(t *testing.T) {
_, resp = AdminClient.DeleteOAuthApp(model.NewId())
CheckNotFoundStatus(t, resp)
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = false })
_, resp = AdminClient.DeleteOAuthApp(rapp.Id)
CheckNotImplementedStatus(t, resp)
}
@@ -484,14 +484,14 @@ func TestRegenerateOAuthAppSecret(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
- adminOnly := *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
+ adminOnly := *th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = adminOnly })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
@@ -530,7 +530,7 @@ func TestRegenerateOAuthAppSecret(t *testing.T) {
_, resp = Client.RegenerateOAuthAppSecret(rapp2.Id)
CheckNoError(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.RegenerateOAuthAppSecret(rapp.Id)
CheckForbiddenStatus(t, resp)
@@ -545,7 +545,7 @@ func TestRegenerateOAuthAppSecret(t *testing.T) {
_, resp = AdminClient.RegenerateOAuthAppSecret(model.NewId())
CheckNotFoundStatus(t, resp)
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = false })
_, resp = AdminClient.RegenerateOAuthAppSecret(rapp.Id)
CheckNotImplementedStatus(t, resp)
}
@@ -556,11 +556,11 @@ func TestGetAuthorizedOAuthAppsForUser(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
@@ -616,11 +616,11 @@ func TestAuthorizeOAuthApp(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
utils.SetDefaultRolesBasedOnConfig()
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
@@ -684,11 +684,11 @@ func TestDeauthorizeOAuthApp(t *testing.T) {
Client := th.Client
AdminClient := th.SystemAdminClient
- enableOAuth := utils.Cfg.ServiceSettings.EnableOAuthServiceProvider
+ enableOAuth := th.App.Config().ServiceSettings.EnableOAuthServiceProvider
defer func() {
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = enableOAuth })
}()
- utils.Cfg.ServiceSettings.EnableOAuthServiceProvider = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOAuthServiceProvider = true })
oapp := &model.OAuthApp{Name: GenerateTestAppName(), Homepage: "https://nowhere.com", Description: "test", CallbackUrls: []string{"https://nowhere.com"}}
diff --git a/api4/openGraph.go b/api4/openGraph.go
index e03ecd219..6ddd0d79c 100644
--- a/api4/openGraph.go
+++ b/api4/openGraph.go
@@ -23,7 +23,7 @@ func (api *API) InitOpenGraph() {
}
func getOpenGraphMetadata(c *Context, w http.ResponseWriter, r *http.Request) {
- if !*utils.Cfg.ServiceSettings.EnableLinkPreviews {
+ if !*c.App.Config().ServiceSettings.EnableLinkPreviews {
c.Err = model.NewAppError("getOpenGraphMetadata", "api.post.link_preview_disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
diff --git a/api4/openGraph_test.go b/api4/openGraph_test.go
index 04f207f55..6a14ad943 100644
--- a/api4/openGraph_test.go
+++ b/api4/openGraph_test.go
@@ -9,9 +9,8 @@ import (
"net/http/httptest"
"strings"
+ "github.com/mattermost/mattermost-server/model"
"testing"
-
- "github.com/mattermost/mattermost-server/utils"
)
func TestGetOpenGraphMetadata(t *testing.T) {
@@ -20,14 +19,18 @@ func TestGetOpenGraphMetadata(t *testing.T) {
Client := th.Client
- enableLinkPreviews := *utils.Cfg.ServiceSettings.EnableLinkPreviews
- allowedInternalConnections := *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections
+ enableLinkPreviews := *th.App.Config().ServiceSettings.EnableLinkPreviews
+ allowedInternalConnections := *th.App.Config().ServiceSettings.AllowedUntrustedInternalConnections
defer func() {
- *utils.Cfg.ServiceSettings.EnableLinkPreviews = enableLinkPreviews
- utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableLinkPreviews = enableLinkPreviews })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ })
}()
- *utils.Cfg.ServiceSettings.EnableLinkPreviews = true
- *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost 127.0.0.1"
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableLinkPreviews = true })
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost 127.0.0.1"
+ })
ogDataCacheMissCount := 0
@@ -72,7 +75,7 @@ func TestGetOpenGraphMetadata(t *testing.T) {
}
}
- *utils.Cfg.ServiceSettings.EnableLinkPreviews = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableLinkPreviews = false })
_, resp := Client.OpenGraph(ts.URL + "/og-data/")
CheckNotImplementedStatus(t, resp)
}
diff --git a/api4/plugin.go b/api4/plugin.go
index 08dea6301..2045a35a8 100644
--- a/api4/plugin.go
+++ b/api4/plugin.go
@@ -11,7 +11,6 @@ import (
l4g "github.com/alecthomas/log4go"
"github.com/mattermost/mattermost-server/app"
"github.com/mattermost/mattermost-server/model"
- "github.com/mattermost/mattermost-server/utils"
)
const (
@@ -30,7 +29,7 @@ func (api *API) InitPlugin() {
}
func uploadPlugin(c *Context, w http.ResponseWriter, r *http.Request) {
- if !*utils.Cfg.PluginSettings.Enable {
+ if !*c.App.Config().PluginSettings.Enable {
c.Err = model.NewAppError("uploadPlugin", "app.plugin.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -77,7 +76,7 @@ func uploadPlugin(c *Context, w http.ResponseWriter, r *http.Request) {
}
func getPlugins(c *Context, w http.ResponseWriter, r *http.Request) {
- if !*utils.Cfg.PluginSettings.Enable {
+ if !*c.App.Config().PluginSettings.Enable {
c.Err = model.NewAppError("getPlugins", "app.plugin.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -102,7 +101,7 @@ func removePlugin(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if !*utils.Cfg.PluginSettings.Enable {
+ if !*c.App.Config().PluginSettings.Enable {
c.Err = model.NewAppError("getPlugins", "app.plugin.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
@@ -122,7 +121,7 @@ func removePlugin(c *Context, w http.ResponseWriter, r *http.Request) {
}
func getWebappPlugins(c *Context, w http.ResponseWriter, r *http.Request) {
- if !*utils.Cfg.PluginSettings.Enable {
+ if !*c.App.Config().PluginSettings.Enable {
c.Err = model.NewAppError("getWebappPlugins", "app.plugin.disabled.app_error", nil, "", http.StatusNotImplemented)
return
}
diff --git a/api4/plugin_test.go b/api4/plugin_test.go
index 5051ab434..1feb1b06a 100644
--- a/api4/plugin_test.go
+++ b/api4/plugin_test.go
@@ -9,6 +9,7 @@ import (
"os"
"testing"
+ "github.com/mattermost/mattermost-server/model"
"github.com/mattermost/mattermost-server/utils"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -26,11 +27,11 @@ func TestPlugin(t *testing.T) {
th := SetupEnterprise().InitBasic().InitSystemAdmin()
defer th.TearDown()
- enablePlugins := *utils.Cfg.PluginSettings.Enable
+ enablePlugins := *th.App.Config().PluginSettings.Enable
defer func() {
- *utils.Cfg.PluginSettings.Enable = enablePlugins
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = enablePlugins })
}()
- *utils.Cfg.PluginSettings.Enable = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true })
th.App.InitPlugins(pluginDir, webappDir)
defer func() {
@@ -56,11 +57,11 @@ func TestPlugin(t *testing.T) {
_, resp = th.SystemAdminClient.UploadPlugin(bytes.NewReader([]byte("badfile")))
CheckBadRequestStatus(t, resp)
- *utils.Cfg.PluginSettings.Enable = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = false })
_, resp = th.SystemAdminClient.UploadPlugin(file)
CheckNotImplementedStatus(t, resp)
- *utils.Cfg.PluginSettings.Enable = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true })
_, resp = th.Client.UploadPlugin(file)
CheckForbiddenStatus(t, resp)
@@ -78,11 +79,11 @@ func TestPlugin(t *testing.T) {
assert.True(t, found)
// Get error cases
- *utils.Cfg.PluginSettings.Enable = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = false })
_, resp = th.SystemAdminClient.GetPlugins()
CheckNotImplementedStatus(t, resp)
- *utils.Cfg.PluginSettings.Enable = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true })
_, resp = th.Client.GetPlugins()
CheckForbiddenStatus(t, resp)
@@ -111,11 +112,11 @@ func TestPlugin(t *testing.T) {
assert.False(t, ok)
- *utils.Cfg.PluginSettings.Enable = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = false })
_, resp = th.SystemAdminClient.RemovePlugin(manifest.Id)
CheckNotImplementedStatus(t, resp)
- *utils.Cfg.PluginSettings.Enable = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true })
_, resp = th.Client.RemovePlugin(manifest.Id)
CheckForbiddenStatus(t, resp)
diff --git a/api4/post_test.go b/api4/post_test.go
index 27e6d6458..3a410f2b4 100644
--- a/api4/post_test.go
+++ b/api4/post_test.go
@@ -124,19 +124,23 @@ func testCreatePostWithOutgoingHook(
team := th.BasicTeam
channel := th.BasicChannel
- enableOutgoingHooks := utils.Cfg.ServiceSettings.EnableOutgoingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
- allowedInternalConnections := *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections
+ enableOutgoingHooks := th.App.Config().ServiceSettings.EnableOutgoingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
+ allowedInternalConnections := *th.App.Config().ServiceSettings.AllowedUntrustedInternalConnections
defer func() {
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
- utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ cfg.ServiceSettings.AllowedUntrustedInternalConnections = &allowedInternalConnections
+ })
}()
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
- *utils.Cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost 127.0.0.1"
+ th.App.UpdateConfig(func(cfg *model.Config) {
+ *cfg.ServiceSettings.AllowedUntrustedInternalConnections = "localhost 127.0.0.1"
+ })
var hook *model.OutgoingWebhook
var post *model.Post
@@ -375,18 +379,18 @@ func TestUpdatePost(t *testing.T) {
isLicensed := utils.IsLicensed()
license := utils.License()
- allowEditPost := *utils.Cfg.ServiceSettings.AllowEditPost
+ allowEditPost := *th.App.Config().ServiceSettings.AllowEditPost
defer func() {
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
- *utils.Cfg.ServiceSettings.AllowEditPost = allowEditPost
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowEditPost = allowEditPost })
utils.SetDefaultRolesBasedOnConfig()
}()
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
- *utils.Cfg.ServiceSettings.AllowEditPost = model.ALLOW_EDIT_POST_ALWAYS
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowEditPost = model.ALLOW_EDIT_POST_ALWAYS })
utils.SetDefaultRolesBasedOnConfig()
post := &model.Post{ChannelId: channel.Id, Message: "zz" + model.NewId() + "a"}
@@ -455,18 +459,18 @@ func TestPatchPost(t *testing.T) {
isLicensed := utils.IsLicensed()
license := utils.License()
- allowEditPost := *utils.Cfg.ServiceSettings.AllowEditPost
+ allowEditPost := *th.App.Config().ServiceSettings.AllowEditPost
defer func() {
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
- *utils.Cfg.ServiceSettings.AllowEditPost = allowEditPost
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowEditPost = allowEditPost })
utils.SetDefaultRolesBasedOnConfig()
}()
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
- *utils.Cfg.ServiceSettings.AllowEditPost = model.ALLOW_EDIT_POST_ALWAYS
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.AllowEditPost = model.ALLOW_EDIT_POST_ALWAYS })
utils.SetDefaultRolesBasedOnConfig()
post := &model.Post{
diff --git a/api4/system.go b/api4/system.go
index b8c927630..920e9a63d 100644
--- a/api4/system.go
+++ b/api4/system.go
@@ -44,11 +44,11 @@ func (api *API) InitSystem() {
func getSystemPing(c *Context, w http.ResponseWriter, r *http.Request) {
actualGoroutines := runtime.NumGoroutine()
- if *utils.Cfg.ServiceSettings.GoroutineHealthThreshold <= 0 || actualGoroutines <= *utils.Cfg.ServiceSettings.GoroutineHealthThreshold {
+ if *c.App.Config().ServiceSettings.GoroutineHealthThreshold <= 0 || actualGoroutines <= *c.App.Config().ServiceSettings.GoroutineHealthThreshold {
m := make(map[string]string)
m[model.STATUS] = model.STATUS_OK
- reqs := utils.Cfg.ClientRequirements
+ reqs := c.App.Config().ClientRequirements
m["AndroidLatestVersion"] = reqs.AndroidLatestVersion
m["AndroidMinVersion"] = reqs.AndroidMinVersion
m["DesktopLatestVersion"] = reqs.DesktopLatestVersion
@@ -61,7 +61,7 @@ func getSystemPing(c *Context, w http.ResponseWriter, r *http.Request) {
rdata := map[string]string{}
rdata["status"] = "unhealthy"
- l4g.Warn(utils.T("api.system.go_routines"), actualGoroutines, *utils.Cfg.ServiceSettings.GoroutineHealthThreshold)
+ l4g.Warn(utils.T("api.system.go_routines"), actualGoroutines, *c.App.Config().ServiceSettings.GoroutineHealthThreshold)
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(model.MapToJson(rdata)))
@@ -71,7 +71,7 @@ func getSystemPing(c *Context, w http.ResponseWriter, r *http.Request) {
func testEmail(c *Context, w http.ResponseWriter, r *http.Request) {
cfg := model.ConfigFromJson(r.Body)
if cfg == nil {
- cfg = utils.Cfg
+ cfg = c.App.Config()
}
if !app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
@@ -198,7 +198,7 @@ func getLogs(c *Context, w http.ResponseWriter, r *http.Request) {
}
func postLog(c *Context, w http.ResponseWriter, r *http.Request) {
- if !*utils.Cfg.ServiceSettings.EnableDeveloper && !app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
+ if !*c.App.Config().ServiceSettings.EnableDeveloper && !app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
c.SetPermissionError(model.PERMISSION_MANAGE_SYSTEM)
return
}
@@ -286,7 +286,7 @@ func addLicense(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- err := r.ParseMultipartForm(*utils.Cfg.FileSettings.MaxFileSize)
+ err := r.ParseMultipartForm(*c.App.Config().FileSettings.MaxFileSize)
if err != nil {
http.Error(w, err.Error(), http.StatusBadRequest)
return
diff --git a/api4/system_test.go b/api4/system_test.go
index 2855e5840..14165acb4 100644
--- a/api4/system_test.go
+++ b/api4/system_test.go
@@ -7,7 +7,6 @@ import (
l4g "github.com/alecthomas/log4go"
"github.com/mattermost/mattermost-server/model"
- "github.com/mattermost/mattermost-server/utils"
)
func TestGetPing(t *testing.T) {
@@ -15,9 +14,9 @@ func TestGetPing(t *testing.T) {
defer th.TearDown()
Client := th.Client
- goRoutineHealthThreshold := *utils.Cfg.ServiceSettings.GoroutineHealthThreshold
+ goRoutineHealthThreshold := *th.App.Config().ServiceSettings.GoroutineHealthThreshold
defer func() {
- *utils.Cfg.ServiceSettings.GoroutineHealthThreshold = goRoutineHealthThreshold
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.GoroutineHealthThreshold = goRoutineHealthThreshold })
}()
status, resp := Client.GetPing()
@@ -26,7 +25,7 @@ func TestGetPing(t *testing.T) {
t.Fatal("should return OK")
}
- *utils.Cfg.ServiceSettings.GoroutineHealthThreshold = 10
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.GoroutineHealthThreshold = 10 })
status, resp = th.SystemAdminClient.GetPing()
CheckInternalErrorStatus(t, resp)
if status != "unhealthy" {
@@ -98,8 +97,8 @@ func TestReloadConfig(t *testing.T) {
t.Fatal("should Reload the config")
}
- *utils.Cfg.TeamSettings.MaxUsersPerTeam = 50
- *utils.Cfg.TeamSettings.EnableOpenServer = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.MaxUsersPerTeam = 50 })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = true })
}
func TestUpdateConfig(t *testing.T) {
@@ -112,7 +111,7 @@ func TestUpdateConfig(t *testing.T) {
_, resp := Client.UpdateConfig(cfg)
CheckForbiddenStatus(t, resp)
- SiteName := utils.Cfg.TeamSettings.SiteName
+ SiteName := th.App.Config().TeamSettings.SiteName
cfg.TeamSettings.SiteName = "MyFancyName"
cfg, resp = th.SystemAdminClient.UpdateConfig(cfg)
@@ -243,21 +242,21 @@ func TestEmailTest(t *testing.T) {
defer th.TearDown()
Client := th.Client
- SendEmailNotifications := utils.Cfg.EmailSettings.SendEmailNotifications
- SMTPServer := utils.Cfg.EmailSettings.SMTPServer
- SMTPPort := utils.Cfg.EmailSettings.SMTPPort
- FeedbackEmail := utils.Cfg.EmailSettings.FeedbackEmail
+ SendEmailNotifications := th.App.Config().EmailSettings.SendEmailNotifications
+ SMTPServer := th.App.Config().EmailSettings.SMTPServer
+ SMTPPort := th.App.Config().EmailSettings.SMTPPort
+ FeedbackEmail := th.App.Config().EmailSettings.FeedbackEmail
defer func() {
- utils.Cfg.EmailSettings.SendEmailNotifications = SendEmailNotifications
- utils.Cfg.EmailSettings.SMTPServer = SMTPServer
- utils.Cfg.EmailSettings.SMTPPort = SMTPPort
- utils.Cfg.EmailSettings.FeedbackEmail = FeedbackEmail
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SendEmailNotifications = SendEmailNotifications })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SMTPServer = SMTPServer })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SMTPPort = SMTPPort })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.FeedbackEmail = FeedbackEmail })
}()
- utils.Cfg.EmailSettings.SendEmailNotifications = false
- utils.Cfg.EmailSettings.SMTPServer = ""
- utils.Cfg.EmailSettings.SMTPPort = ""
- utils.Cfg.EmailSettings.FeedbackEmail = ""
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SendEmailNotifications = false })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SMTPServer = "" })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.SMTPPort = "" })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.EmailSettings.FeedbackEmail = "" })
_, resp := Client.TestEmail()
CheckForbiddenStatus(t, resp)
diff --git a/api4/team_test.go b/api4/team_test.go
index 45484e2a1..f0668d9ac 100644
--- a/api4/team_test.go
+++ b/api4/team_test.go
@@ -68,12 +68,12 @@ func TestCreateTeam(t *testing.T) {
CheckUnauthorizedStatus(t, resp)
// Update permission
- enableTeamCreation := utils.Cfg.TeamSettings.EnableTeamCreation
+ enableTeamCreation := th.App.Config().TeamSettings.EnableTeamCreation
defer func() {
- utils.Cfg.TeamSettings.EnableTeamCreation = enableTeamCreation
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableTeamCreation = enableTeamCreation })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.TeamSettings.EnableTeamCreation = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableTeamCreation = false })
utils.SetDefaultRolesBasedOnConfig()
th.LoginBasic()
@@ -1295,18 +1295,18 @@ func TestAddTeamMember(t *testing.T) {
Client.Logout()
// Check effects of config and license changes.
- restrictTeamInvite := *utils.Cfg.TeamSettings.RestrictTeamInvite
+ restrictTeamInvite := *th.App.Config().TeamSettings.RestrictTeamInvite
isLicensed := utils.IsLicensed()
license := utils.License()
defer func() {
- *utils.Cfg.TeamSettings.RestrictTeamInvite = restrictTeamInvite
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = restrictTeamInvite })
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
utils.SetDefaultRolesBasedOnConfig()
}()
// Set the config so that only team admins can add a user to a team.
- *utils.Cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_TEAM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_TEAM_ADMIN })
utils.SetDefaultRolesBasedOnConfig()
th.LoginBasic()
@@ -1328,7 +1328,7 @@ func TestAddTeamMember(t *testing.T) {
// Update user to team admin
th.UpdateUserToTeamAdmin(th.BasicUser, th.BasicTeam)
th.App.InvalidateAllCaches()
- *utils.Cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_TEAM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_TEAM_ADMIN })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -1340,7 +1340,7 @@ func TestAddTeamMember(t *testing.T) {
CheckNoError(t, resp)
// Change permission level to System Admin
- *utils.Cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_SYSTEM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_SYSTEM_ADMIN })
utils.SetDefaultRolesBasedOnConfig()
// Should not work as team admin.
@@ -1354,7 +1354,7 @@ func TestAddTeamMember(t *testing.T) {
// Change permission level to All
th.UpdateUserToNonTeamAdmin(th.BasicUser, th.BasicTeam)
th.App.InvalidateAllCaches()
- *utils.Cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_ALL
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_ALL })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -1366,7 +1366,7 @@ func TestAddTeamMember(t *testing.T) {
CheckNoError(t, resp)
// Reset config and license.
- *utils.Cfg.TeamSettings.RestrictTeamInvite = restrictTeamInvite
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = restrictTeamInvite })
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
utils.SetDefaultRolesBasedOnConfig()
@@ -1380,7 +1380,7 @@ func TestAddTeamMember(t *testing.T) {
dataObject["id"] = team.Id
data := model.MapToJson(dataObject)
- hashed := utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt))
+ hashed := utils.HashSha256(fmt.Sprintf("%v:%v", data, th.App.Config().EmailSettings.InviteSalt))
tm, resp = Client.AddTeamMemberFromInvite(hashed, data, "")
CheckNoError(t, resp)
@@ -1410,7 +1410,7 @@ func TestAddTeamMember(t *testing.T) {
// expired data of more than 50 hours
dataObject["time"] = fmt.Sprintf("%v", model.GetMillis()-1000*60*60*50)
data = model.MapToJson(dataObject)
- hashed = utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt))
+ hashed = utils.HashSha256(fmt.Sprintf("%v:%v", data, th.App.Config().EmailSettings.InviteSalt))
tm, resp = Client.AddTeamMemberFromInvite(hashed, data, "")
CheckBadRequestStatus(t, resp)
@@ -1418,7 +1418,7 @@ func TestAddTeamMember(t *testing.T) {
// invalid team id
dataObject["id"] = GenerateTestId()
data = model.MapToJson(dataObject)
- hashed = utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt))
+ hashed = utils.HashSha256(fmt.Sprintf("%v:%v", data, th.App.Config().EmailSettings.InviteSalt))
tm, resp = Client.AddTeamMemberFromInvite(hashed, data, "")
CheckBadRequestStatus(t, resp)
@@ -1509,18 +1509,18 @@ func TestAddTeamMembers(t *testing.T) {
Client.Logout()
// Check effects of config and license changes.
- restrictTeamInvite := *utils.Cfg.TeamSettings.RestrictTeamInvite
+ restrictTeamInvite := *th.App.Config().TeamSettings.RestrictTeamInvite
isLicensed := utils.IsLicensed()
license := utils.License()
defer func() {
- *utils.Cfg.TeamSettings.RestrictTeamInvite = restrictTeamInvite
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = restrictTeamInvite })
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
utils.SetDefaultRolesBasedOnConfig()
}()
// Set the config so that only team admins can add a user to a team.
- *utils.Cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_TEAM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_TEAM_ADMIN })
utils.SetDefaultRolesBasedOnConfig()
th.LoginBasic()
@@ -1542,7 +1542,7 @@ func TestAddTeamMembers(t *testing.T) {
// Update user to team admin
th.UpdateUserToTeamAdmin(th.BasicUser, th.BasicTeam)
th.App.InvalidateAllCaches()
- *utils.Cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_TEAM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_TEAM_ADMIN })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -1554,7 +1554,7 @@ func TestAddTeamMembers(t *testing.T) {
CheckNoError(t, resp)
// Change permission level to System Admin
- *utils.Cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_SYSTEM_ADMIN
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_SYSTEM_ADMIN })
utils.SetDefaultRolesBasedOnConfig()
// Should not work as team admin.
@@ -1568,7 +1568,7 @@ func TestAddTeamMembers(t *testing.T) {
// Change permission level to All
th.UpdateUserToNonTeamAdmin(th.BasicUser, th.BasicTeam)
th.App.InvalidateAllCaches()
- *utils.Cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_ALL
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.RestrictTeamInvite = model.PERMISSIONS_ALL })
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
@@ -1898,7 +1898,7 @@ func TestInviteUsersToTeam(t *testing.T) {
t.Fatal("should return true")
}
- nameFormat := *utils.Cfg.TeamSettings.TeammateNameDisplay
+ nameFormat := *th.App.Config().TeamSettings.TeammateNameDisplay
expectedSubject := "[Mattermost] " + th.SystemAdminUser.GetDisplayName(nameFormat) + " invited you to join " + th.BasicTeam.DisplayName + " Team"
//Check if the email was send to the rigth email address
for _, email := range emailList {
@@ -1927,11 +1927,11 @@ func TestInviteUsersToTeam(t *testing.T) {
}
}
- restrictCreationToDomains := utils.Cfg.TeamSettings.RestrictCreationToDomains
+ restrictCreationToDomains := th.App.Config().TeamSettings.RestrictCreationToDomains
defer func() {
- utils.Cfg.TeamSettings.RestrictCreationToDomains = restrictCreationToDomains
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.RestrictCreationToDomains = restrictCreationToDomains })
}()
- utils.Cfg.TeamSettings.RestrictCreationToDomains = "@example.com"
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.RestrictCreationToDomains = "@example.com" })
err := th.App.InviteNewUsersToTeam(emailList, th.BasicTeam.Id, th.BasicUser.Id)
diff --git a/api4/user.go b/api4/user.go
index 07f223bd6..d17591afa 100644
--- a/api4/user.go
+++ b/api4/user.go
@@ -112,7 +112,7 @@ func getUser(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- etag := user.Etag(utils.Cfg.PrivacySettings.ShowFullName, utils.Cfg.PrivacySettings.ShowEmailAddress)
+ etag := user.Etag(c.App.Config().PrivacySettings.ShowFullName, c.App.Config().PrivacySettings.ShowEmailAddress)
if c.HandleEtag(etag, "Get User", w, r) {
return
@@ -145,7 +145,7 @@ func getUserByUsername(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- etag := user.Etag(utils.Cfg.PrivacySettings.ShowFullName, utils.Cfg.PrivacySettings.ShowEmailAddress)
+ etag := user.Etag(c.App.Config().PrivacySettings.ShowFullName, c.App.Config().PrivacySettings.ShowEmailAddress)
if c.HandleEtag(etag, "Get User", w, r) {
return
@@ -173,7 +173,7 @@ func getUserByEmail(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- etag := user.Etag(utils.Cfg.PrivacySettings.ShowFullName, utils.Cfg.PrivacySettings.ShowEmailAddress)
+ etag := user.Etag(c.App.Config().PrivacySettings.ShowFullName, c.App.Config().PrivacySettings.ShowEmailAddress)
if c.HandleEtag(etag, "Get User", w, r) {
return
@@ -235,17 +235,17 @@ func setProfileImage(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
- if len(*utils.Cfg.FileSettings.DriverName) == 0 {
+ if len(*c.App.Config().FileSettings.DriverName) == 0 {
c.Err = model.NewAppError("uploadProfileImage", "api.user.upload_profile_user.storage.app_error", nil, "", http.StatusNotImplemented)
return
}
- if r.ContentLength > *utils.Cfg.FileSettings.MaxFileSize {
+ if r.ContentLength > *c.App.Config().FileSettings.MaxFileSize {
c.Err = model.NewAppError("uploadProfileImage", "api.user.upload_profile_user.too_large.app_error", nil, "", http.StatusRequestEntityTooLarge)
return
}
- if err := r.ParseMultipartForm(*utils.Cfg.FileSettings.MaxFileSize); err != nil {
+ if err := r.ParseMultipartForm(*c.App.Config().FileSettings.MaxFileSize); err != nil {
c.Err = model.NewAppError("uploadProfileImage", "api.user.upload_profile_user.parse.app_error", nil, err.Error(), http.StatusInternalServerError)
return
}
@@ -453,8 +453,8 @@ func searchUsers(c *Context, w http.ResponseWriter, r *http.Request) {
searchOptions[store.USER_SEARCH_OPTION_ALLOW_INACTIVE] = props.AllowInactive
if !app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
- hideFullName := !utils.Cfg.PrivacySettings.ShowFullName
- hideEmail := !utils.Cfg.PrivacySettings.ShowEmailAddress
+ hideFullName := !c.App.Config().PrivacySettings.ShowFullName
+ hideEmail := !c.App.Config().PrivacySettings.ShowEmailAddress
if hideFullName && hideEmail {
searchOptions[store.USER_SEARCH_OPTION_NAMES_ONLY_NO_FULL_NAME] = true
@@ -483,7 +483,7 @@ func autocompleteUsers(c *Context, w http.ResponseWriter, r *http.Request) {
searchOptions := map[string]bool{}
- hideFullName := !utils.Cfg.PrivacySettings.ShowFullName
+ hideFullName := !c.App.Config().PrivacySettings.ShowFullName
if hideFullName && !app.SessionHasPermissionTo(c.Session, model.PERMISSION_MANAGE_SYSTEM) {
searchOptions[store.USER_SEARCH_OPTION_NAMES_ONLY_NO_FULL_NAME] = true
} else {
@@ -701,7 +701,7 @@ func checkUserMfa(c *Context, w http.ResponseWriter, r *http.Request) {
resp := map[string]interface{}{}
resp["mfa_required"] = false
- if !utils.IsLicensed() || !*utils.License().Features.MFA || !*utils.Cfg.ServiceSettings.EnableMultifactorAuthentication {
+ if !utils.IsLicensed() || !*utils.License().Features.MFA || !*c.App.Config().ServiceSettings.EnableMultifactorAuthentication {
w.Write([]byte(model.StringInterfaceToJson(resp)))
return
}
@@ -1022,9 +1022,9 @@ func attachDeviceId(c *Context, w http.ResponseWriter, r *http.Request) {
}
c.App.ClearSessionCacheForUser(c.Session.UserId)
- c.Session.SetExpireInDays(*utils.Cfg.ServiceSettings.SessionLengthMobileInDays)
+ c.Session.SetExpireInDays(*c.App.Config().ServiceSettings.SessionLengthMobileInDays)
- maxAge := *utils.Cfg.ServiceSettings.SessionLengthMobileInDays * 60 * 60 * 24
+ maxAge := *c.App.Config().ServiceSettings.SessionLengthMobileInDays * 60 * 60 * 24
secure := false
if app.GetProtocol(r) == "https" {
diff --git a/api4/user_test.go b/api4/user_test.go
index 3a1579e14..ceaf3f038 100644
--- a/api4/user_test.go
+++ b/api4/user_test.go
@@ -63,14 +63,14 @@ func TestCreateUser(t *testing.T) {
CheckErrorMessage(t, resp, "model.user.is_valid.email.app_error")
CheckBadRequestStatus(t, resp)
- openServer := *utils.Cfg.TeamSettings.EnableOpenServer
- canCreateAccount := utils.Cfg.TeamSettings.EnableUserCreation
+ openServer := *th.App.Config().TeamSettings.EnableOpenServer
+ canCreateAccount := th.App.Config().TeamSettings.EnableUserCreation
defer func() {
- *utils.Cfg.TeamSettings.EnableOpenServer = openServer
- utils.Cfg.TeamSettings.EnableUserCreation = canCreateAccount
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = openServer })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = canCreateAccount })
}()
- *utils.Cfg.TeamSettings.EnableOpenServer = false
- utils.Cfg.TeamSettings.EnableUserCreation = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false })
user2 := &model.User{Email: GenerateTestEmail(), Password: "Password1", Username: GenerateTestUsername()}
_, resp = AdminClient.CreateUser(user2)
@@ -101,7 +101,7 @@ func TestCreateUserWithHash(t *testing.T) {
props["name"] = th.BasicTeam.Name
props["time"] = fmt.Sprintf("%v", model.GetMillis())
data := model.MapToJson(props)
- hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt))
+ hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, th.App.Config().EmailSettings.InviteSalt))
ruser, resp := Client.CreateUserWithHash(&user, hash, data)
CheckNoError(t, resp)
@@ -127,7 +127,7 @@ func TestCreateUserWithHash(t *testing.T) {
props["name"] = th.BasicTeam.Name
props["time"] = fmt.Sprintf("%v", model.GetMillis())
data := model.MapToJson(props)
- hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt))
+ hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, th.App.Config().EmailSettings.InviteSalt))
_, resp := Client.CreateUserWithHash(&user, "", data)
CheckBadRequestStatus(t, resp)
@@ -150,7 +150,7 @@ func TestCreateUserWithHash(t *testing.T) {
props["name"] = th.BasicTeam.Name
props["time"] = fmt.Sprintf("%v", past49Hours)
data := model.MapToJson(props)
- hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt))
+ hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, th.App.Config().EmailSettings.InviteSalt))
_, resp := Client.CreateUserWithHash(&user, hash, data)
CheckInternalErrorStatus(t, resp)
@@ -183,13 +183,13 @@ func TestCreateUserWithHash(t *testing.T) {
props["name"] = th.BasicTeam.Name
props["time"] = fmt.Sprintf("%v", model.GetMillis())
data := model.MapToJson(props)
- hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt))
+ hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, th.App.Config().EmailSettings.InviteSalt))
- canCreateAccount := utils.Cfg.TeamSettings.EnableUserCreation
+ canCreateAccount := th.App.Config().TeamSettings.EnableUserCreation
defer func() {
- utils.Cfg.TeamSettings.EnableUserCreation = canCreateAccount
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = canCreateAccount })
}()
- utils.Cfg.TeamSettings.EnableUserCreation = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false })
_, resp := Client.CreateUserWithHash(&user, hash, data)
CheckNotImplementedStatus(t, resp)
@@ -206,13 +206,13 @@ func TestCreateUserWithHash(t *testing.T) {
props["name"] = th.BasicTeam.Name
props["time"] = fmt.Sprintf("%v", model.GetMillis())
data := model.MapToJson(props)
- hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, utils.Cfg.EmailSettings.InviteSalt))
+ hash := utils.HashSha256(fmt.Sprintf("%v:%v", data, th.App.Config().EmailSettings.InviteSalt))
- openServer := *utils.Cfg.TeamSettings.EnableOpenServer
+ openServer := *th.App.Config().TeamSettings.EnableOpenServer
defer func() {
- *utils.Cfg.TeamSettings.EnableOpenServer = openServer
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = openServer })
}()
- *utils.Cfg.TeamSettings.EnableOpenServer = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
ruser, resp := Client.CreateUserWithHash(&user, hash, data)
CheckNoError(t, resp)
@@ -291,11 +291,11 @@ func TestCreateUserWithInviteId(t *testing.T) {
t.Run("EnableUserCreationDisable", func(t *testing.T) {
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.ROLE_SYSTEM_ADMIN.Id + " " + model.ROLE_SYSTEM_USER.Id}
- canCreateAccount := utils.Cfg.TeamSettings.EnableUserCreation
+ canCreateAccount := th.App.Config().TeamSettings.EnableUserCreation
defer func() {
- utils.Cfg.TeamSettings.EnableUserCreation = canCreateAccount
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = canCreateAccount })
}()
- utils.Cfg.TeamSettings.EnableUserCreation = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.TeamSettings.EnableUserCreation = false })
inviteId := th.BasicTeam.InviteId
@@ -307,11 +307,11 @@ func TestCreateUserWithInviteId(t *testing.T) {
t.Run("EnableOpenServerDisable", func(t *testing.T) {
user := model.User{Email: GenerateTestEmail(), Nickname: "Corey Hulen", Password: "hello1", Username: GenerateTestUsername(), Roles: model.ROLE_SYSTEM_ADMIN.Id + " " + model.ROLE_SYSTEM_USER.Id}
- openServer := *utils.Cfg.TeamSettings.EnableOpenServer
+ openServer := *th.App.Config().TeamSettings.EnableOpenServer
defer func() {
- *utils.Cfg.TeamSettings.EnableOpenServer = openServer
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = openServer })
}()
- *utils.Cfg.TeamSettings.EnableOpenServer = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.TeamSettings.EnableOpenServer = false })
inviteId := th.BasicTeam.InviteId
@@ -374,14 +374,14 @@ func TestGetUser(t *testing.T) {
CheckNotFoundStatus(t, resp)
// Check against privacy config settings
- emailPrivacy := utils.Cfg.PrivacySettings.ShowEmailAddress
- namePrivacy := utils.Cfg.PrivacySettings.ShowFullName
+ emailPrivacy := th.App.Config().PrivacySettings.ShowEmailAddress
+ namePrivacy := th.App.Config().PrivacySettings.ShowFullName
defer func() {
- utils.Cfg.PrivacySettings.ShowEmailAddress = emailPrivacy
- utils.Cfg.PrivacySettings.ShowFullName = namePrivacy
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = emailPrivacy })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = namePrivacy })
}()
- utils.Cfg.PrivacySettings.ShowEmailAddress = false
- utils.Cfg.PrivacySettings.ShowFullName = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = false })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = false })
ruser, resp = Client.GetUser(user.Id, "")
CheckNoError(t, resp)
@@ -435,14 +435,14 @@ func TestGetUserByUsername(t *testing.T) {
CheckNotFoundStatus(t, resp)
// Check against privacy config settings
- emailPrivacy := utils.Cfg.PrivacySettings.ShowEmailAddress
- namePrivacy := utils.Cfg.PrivacySettings.ShowFullName
+ emailPrivacy := th.App.Config().PrivacySettings.ShowEmailAddress
+ namePrivacy := th.App.Config().PrivacySettings.ShowFullName
defer func() {
- utils.Cfg.PrivacySettings.ShowEmailAddress = emailPrivacy
- utils.Cfg.PrivacySettings.ShowFullName = namePrivacy
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = emailPrivacy })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = namePrivacy })
}()
- utils.Cfg.PrivacySettings.ShowEmailAddress = false
- utils.Cfg.PrivacySettings.ShowFullName = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = false })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = false })
ruser, resp = Client.GetUserByUsername(user.Username, "")
CheckNoError(t, resp)
@@ -499,14 +499,14 @@ func TestGetUserByEmail(t *testing.T) {
CheckNotFoundStatus(t, resp)
// Check against privacy config settings
- emailPrivacy := utils.Cfg.PrivacySettings.ShowEmailAddress
- namePrivacy := utils.Cfg.PrivacySettings.ShowFullName
+ emailPrivacy := th.App.Config().PrivacySettings.ShowEmailAddress
+ namePrivacy := th.App.Config().PrivacySettings.ShowFullName
defer func() {
- utils.Cfg.PrivacySettings.ShowEmailAddress = emailPrivacy
- utils.Cfg.PrivacySettings.ShowFullName = namePrivacy
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = emailPrivacy })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = namePrivacy })
}()
- utils.Cfg.PrivacySettings.ShowEmailAddress = false
- utils.Cfg.PrivacySettings.ShowFullName = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = false })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = false })
ruser, resp = Client.GetUserByEmail(user.Email, "")
CheckNoError(t, resp)
@@ -666,14 +666,14 @@ func TestSearchUsers(t *testing.T) {
search.Term = th.BasicUser.Username
- emailPrivacy := utils.Cfg.PrivacySettings.ShowEmailAddress
- namePrivacy := utils.Cfg.PrivacySettings.ShowFullName
+ emailPrivacy := th.App.Config().PrivacySettings.ShowEmailAddress
+ namePrivacy := th.App.Config().PrivacySettings.ShowFullName
defer func() {
- utils.Cfg.PrivacySettings.ShowEmailAddress = emailPrivacy
- utils.Cfg.PrivacySettings.ShowFullName = namePrivacy
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = emailPrivacy })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = namePrivacy })
}()
- utils.Cfg.PrivacySettings.ShowEmailAddress = false
- utils.Cfg.PrivacySettings.ShowFullName = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowEmailAddress = false })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = false })
_, err = th.App.UpdateActiveNoLdap(th.BasicUser2.Id, true)
if err != nil {
@@ -824,11 +824,11 @@ func TestAutocompleteUsers(t *testing.T) {
CheckNoError(t, resp)
// Check against privacy config settings
- namePrivacy := utils.Cfg.PrivacySettings.ShowFullName
+ namePrivacy := th.App.Config().PrivacySettings.ShowFullName
defer func() {
- utils.Cfg.PrivacySettings.ShowFullName = namePrivacy
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = namePrivacy })
}()
- utils.Cfg.PrivacySettings.ShowFullName = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.PrivacySettings.ShowFullName = false })
th.LoginBasic()
@@ -1544,17 +1544,17 @@ func TestUpdateUserMfa(t *testing.T) {
isLicensed := utils.IsLicensed()
license := utils.License()
- enableMfa := *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication
+ enableMfa := *th.App.Config().ServiceSettings.EnableMultifactorAuthentication
defer func() {
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
- *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication = enableMfa
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableMultifactorAuthentication = enableMfa })
}()
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
*utils.License().Features.MFA = true
- *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableMultifactorAuthentication = true })
session, _ := th.App.GetSession(Client.AuthToken)
session.IsOAuth = true
@@ -1616,17 +1616,17 @@ func TestCheckUserMfa(t *testing.T) {
isLicensed := utils.IsLicensed()
license := utils.License()
- enableMfa := *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication
+ enableMfa := *th.App.Config().ServiceSettings.EnableMultifactorAuthentication
defer func() {
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
- *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication = enableMfa
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableMultifactorAuthentication = enableMfa })
}()
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
*utils.License().Features.MFA = true
- *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableMultifactorAuthentication = true })
th.LoginBasic()
@@ -1663,17 +1663,17 @@ func TestGenerateMfaSecret(t *testing.T) {
isLicensed := utils.IsLicensed()
license := utils.License()
- enableMfa := *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication
+ enableMfa := *th.App.Config().ServiceSettings.EnableMultifactorAuthentication
defer func() {
utils.SetIsLicensed(isLicensed)
utils.SetLicense(license)
- *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication = enableMfa
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableMultifactorAuthentication = enableMfa })
}()
utils.SetIsLicensed(true)
utils.SetLicense(&model.License{Features: &model.Features{}})
utils.License().Features.SetDefaults()
*utils.License().Features.MFA = true
- *utils.Cfg.ServiceSettings.EnableMultifactorAuthentication = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableMultifactorAuthentication = true })
_, resp = Client.GenerateMfaSecret(model.NewId())
CheckForbiddenStatus(t, resp)
@@ -1733,11 +1733,11 @@ func TestUpdateUserPassword(t *testing.T) {
th.LoginBasic()
// Test lockout
- passwordAttempts := *utils.Cfg.ServiceSettings.MaximumLoginAttempts
+ passwordAttempts := *th.App.Config().ServiceSettings.MaximumLoginAttempts
defer func() {
- *utils.Cfg.ServiceSettings.MaximumLoginAttempts = passwordAttempts
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.MaximumLoginAttempts = passwordAttempts })
}()
- *utils.Cfg.ServiceSettings.MaximumLoginAttempts = 2
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.MaximumLoginAttempts = 2 })
// Fail twice
_, resp = Client.UpdateUserPassword(th.BasicUser.Id, "badpwd", "newpwd")
@@ -2175,11 +2175,11 @@ func TestSwitchAccount(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableGitLab := utils.Cfg.GitLabSettings.Enable
+ enableGitLab := th.App.Config().GitLabSettings.Enable
defer func() {
- utils.Cfg.GitLabSettings.Enable = enableGitLab
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.GitLabSettings.Enable = enableGitLab })
}()
- utils.Cfg.GitLabSettings.Enable = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.GitLabSettings.Enable = true })
Client.Logout()
@@ -2269,11 +2269,11 @@ func TestCreateUserAccessToken(t *testing.T) {
testDescription := "test token"
- enableUserAccessTokens := *utils.Cfg.ServiceSettings.EnableUserAccessTokens
+ enableUserAccessTokens := *th.App.Config().ServiceSettings.EnableUserAccessTokens
defer func() {
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens })
}()
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = true })
_, resp := Client.CreateUserAccessToken(th.BasicUser.Id, testDescription)
CheckForbiddenStatus(t, resp)
@@ -2286,10 +2286,10 @@ func TestCreateUserAccessToken(t *testing.T) {
th.App.UpdateUserRoles(th.BasicUser.Id, model.ROLE_SYSTEM_USER.Id+" "+model.ROLE_SYSTEM_USER_ACCESS_TOKEN.Id)
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = false })
_, resp = Client.CreateUserAccessToken(th.BasicUser.Id, testDescription)
CheckNotImplementedStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = true })
rtoken, resp := Client.CreateUserAccessToken(th.BasicUser.Id, testDescription)
CheckNoError(t, resp)
@@ -2352,11 +2352,11 @@ func TestGetUserAccessToken(t *testing.T) {
testDescription := "test token"
- enableUserAccessTokens := *utils.Cfg.ServiceSettings.EnableUserAccessTokens
+ enableUserAccessTokens := *th.App.Config().ServiceSettings.EnableUserAccessTokens
defer func() {
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens })
}()
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = true })
_, resp := Client.GetUserAccessToken("123")
CheckBadRequestStatus(t, resp)
@@ -2423,11 +2423,11 @@ func TestRevokeUserAccessToken(t *testing.T) {
testDescription := "test token"
- enableUserAccessTokens := *utils.Cfg.ServiceSettings.EnableUserAccessTokens
+ enableUserAccessTokens := *th.App.Config().ServiceSettings.EnableUserAccessTokens
defer func() {
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens })
}()
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = true })
th.App.UpdateUserRoles(th.BasicUser.Id, model.ROLE_SYSTEM_USER.Id+" "+model.ROLE_SYSTEM_USER_ACCESS_TOKEN.Id)
token, resp := Client.CreateUserAccessToken(th.BasicUser.Id, testDescription)
@@ -2470,11 +2470,11 @@ func TestUserAccessTokenInactiveUser(t *testing.T) {
testDescription := "test token"
- enableUserAccessTokens := *utils.Cfg.ServiceSettings.EnableUserAccessTokens
+ enableUserAccessTokens := *th.App.Config().ServiceSettings.EnableUserAccessTokens
defer func() {
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens })
}()
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = true })
th.App.UpdateUserRoles(th.BasicUser.Id, model.ROLE_SYSTEM_USER.Id+" "+model.ROLE_SYSTEM_USER_ACCESS_TOKEN.Id)
token, resp := Client.CreateUserAccessToken(th.BasicUser.Id, testDescription)
@@ -2497,11 +2497,11 @@ func TestUserAccessTokenDisableConfig(t *testing.T) {
testDescription := "test token"
- enableUserAccessTokens := *utils.Cfg.ServiceSettings.EnableUserAccessTokens
+ enableUserAccessTokens := *th.App.Config().ServiceSettings.EnableUserAccessTokens
defer func() {
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = enableUserAccessTokens })
}()
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = true })
th.App.UpdateUserRoles(th.BasicUser.Id, model.ROLE_SYSTEM_USER.Id+" "+model.ROLE_SYSTEM_USER_ACCESS_TOKEN.Id)
token, resp := Client.CreateUserAccessToken(th.BasicUser.Id, testDescription)
@@ -2512,7 +2512,7 @@ func TestUserAccessTokenDisableConfig(t *testing.T) {
_, resp = Client.GetMe("")
CheckNoError(t, resp)
- *utils.Cfg.ServiceSettings.EnableUserAccessTokens = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableUserAccessTokens = false })
_, resp = Client.GetMe("")
CheckUnauthorizedStatus(t, resp)
diff --git a/api4/webhook.go b/api4/webhook.go
index 39d0cbff4..1921659ce 100644
--- a/api4/webhook.go
+++ b/api4/webhook.go
@@ -459,7 +459,7 @@ func incomingWebhook(c *Context, w http.ResponseWriter, r *http.Request) {
payload = r.Body
}
- if utils.Cfg.LogSettings.EnableWebhookDebugging {
+ if c.App.Config().LogSettings.EnableWebhookDebugging {
var err error
payload, err = utils.InfoReader(
payload,
diff --git a/api4/webhook_test.go b/api4/webhook_test.go
index f8d33e984..6740ee097 100644
--- a/api4/webhook_test.go
+++ b/api4/webhook_test.go
@@ -19,15 +19,15 @@ func TestCreateIncomingWebhook(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableIncomingHooks := utils.Cfg.ServiceSettings.EnableIncomingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
hook := &model.IncomingWebhook{ChannelId: th.BasicChannel.Id}
@@ -60,13 +60,13 @@ func TestCreateIncomingWebhook(t *testing.T) {
_, resp = Client.CreateIncomingWebhook(hook)
CheckForbiddenStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.CreateIncomingWebhook(hook)
CheckNoError(t, resp)
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = false })
_, resp = Client.CreateIncomingWebhook(hook)
CheckNotImplementedStatus(t, resp)
}
@@ -76,15 +76,15 @@ func TestGetIncomingWebhooks(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableIncomingHooks := utils.Cfg.ServiceSettings.EnableIncomingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
hook := &model.IncomingWebhook{ChannelId: th.BasicChannel.Id}
@@ -136,7 +136,7 @@ func TestGetIncomingWebhooks(t *testing.T) {
_, resp = Client.GetIncomingWebhooks(0, 1000, "")
CheckForbiddenStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.GetIncomingWebhooksForTeam(th.BasicTeam.Id, 0, 1000, "")
@@ -158,15 +158,15 @@ func TestGetIncomingWebhook(t *testing.T) {
defer th.TearDown()
Client := th.SystemAdminClient
- enableIncomingHooks := utils.Cfg.ServiceSettings.EnableIncomingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
var resp *model.Response
@@ -206,15 +206,15 @@ func TestDeleteIncomingWebhook(t *testing.T) {
defer th.TearDown()
Client := th.SystemAdminClient
- enableIncomingHooks := utils.Cfg.ServiceSettings.EnableIncomingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
var resp *model.Response
@@ -266,15 +266,15 @@ func TestCreateOutgoingWebhook(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableOutgoingHooks := utils.Cfg.ServiceSettings.EnableOutgoingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOutgoingHooks := th.App.Config().ServiceSettings.EnableOutgoingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
hook := &model.OutgoingWebhook{ChannelId: th.BasicChannel.Id, TeamId: th.BasicChannel.TeamId, CallbackURLs: []string{"http://nowhere.com"}}
@@ -303,13 +303,13 @@ func TestCreateOutgoingWebhook(t *testing.T) {
_, resp = Client.CreateOutgoingWebhook(hook)
CheckForbiddenStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.CreateOutgoingWebhook(hook)
CheckNoError(t, resp)
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = false })
_, resp = Client.CreateOutgoingWebhook(hook)
CheckNotImplementedStatus(t, resp)
}
@@ -319,15 +319,15 @@ func TestGetOutgoingWebhooks(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableOutgoingHooks := utils.Cfg.ServiceSettings.EnableOutgoingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOutgoingHooks := th.App.Config().ServiceSettings.EnableOutgoingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
hook := &model.OutgoingWebhook{ChannelId: th.BasicChannel.Id, TeamId: th.BasicChannel.TeamId, CallbackURLs: []string{"http://nowhere.com"}}
@@ -396,7 +396,7 @@ func TestGetOutgoingWebhooks(t *testing.T) {
_, resp = Client.GetOutgoingWebhooks(0, 1000, "")
CheckForbiddenStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
_, resp = Client.GetOutgoingWebhooksForTeam(th.BasicTeam.Id, 0, 1000, "")
@@ -424,15 +424,15 @@ func TestGetOutgoingWebhook(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableOutgoingHooks := utils.Cfg.ServiceSettings.EnableOutgoingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOutgoingHooks := th.App.Config().ServiceSettings.EnableOutgoingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
hook := &model.OutgoingWebhook{ChannelId: th.BasicChannel.Id, TeamId: th.BasicChannel.TeamId, CallbackURLs: []string{"http://nowhere.com"}}
@@ -463,15 +463,15 @@ func TestUpdateIncomingHook(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableIncomingHooks := utils.Cfg.ServiceSettings.EnableIncomingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
hook1 := &model.IncomingWebhook{ChannelId: th.BasicChannel.Id}
@@ -555,10 +555,10 @@ func TestUpdateIncomingHook(t *testing.T) {
CheckForbiddenStatus(t, resp)
})
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
t.Run("OnlyAdminIntegrationsDisabled", func(t *testing.T) {
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
t.Run("UpdateHookOfSameUser", func(t *testing.T) {
@@ -577,7 +577,7 @@ func TestUpdateIncomingHook(t *testing.T) {
})
})
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
Client.Logout()
@@ -592,13 +592,13 @@ func TestUpdateIncomingHook(t *testing.T) {
})
t.Run("IncomingHooksDisabled", func(t *testing.T) {
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = false })
_, resp := Client.UpdateIncomingWebhook(createdHook)
CheckNotImplementedStatus(t, resp)
CheckErrorMessage(t, resp, "api.incoming_webhook.disabled.app_error")
})
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
t.Run("PrivateChannel", func(t *testing.T) {
privateChannel := th.CreatePrivateChannel()
@@ -632,15 +632,15 @@ func TestRegenOutgoingHookToken(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableOutgoingHooks := utils.Cfg.ServiceSettings.EnableOutgoingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOutgoingHooks := th.App.Config().ServiceSettings.EnableOutgoingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
hook := &model.OutgoingWebhook{ChannelId: th.BasicChannel.Id, TeamId: th.BasicChannel.TeamId, CallbackURLs: []string{"http://nowhere.com"}}
@@ -663,7 +663,7 @@ func TestRegenOutgoingHookToken(t *testing.T) {
_, resp = Client.RegenOutgoingHookToken(rhook.Id)
CheckForbiddenStatus(t, resp)
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = false })
_, resp = th.SystemAdminClient.RegenOutgoingHookToken(rhook.Id)
CheckNotImplementedStatus(t, resp)
}
@@ -673,15 +673,15 @@ func TestUpdateOutgoingHook(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableOutgoingHooks := utils.Cfg.ServiceSettings.EnableOutgoingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableOutgoingHooks := th.App.Config().ServiceSettings.EnableOutgoingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = enableOutgoingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
createdHook := &model.OutgoingWebhook{ChannelId: th.BasicChannel.Id, TeamId: th.BasicChannel.TeamId,
@@ -705,12 +705,12 @@ func TestUpdateOutgoingHook(t *testing.T) {
})
t.Run("OutgoingHooksDisabled", func(t *testing.T) {
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = false
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = false })
_, resp := th.SystemAdminClient.UpdateOutgoingWebhook(createdHook)
CheckNotImplementedStatus(t, resp)
})
- utils.Cfg.ServiceSettings.EnableOutgoingWebhooks = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOutgoingWebhooks = true })
t.Run("RetainCreateAt", func(t *testing.T) {
hook2 := &model.OutgoingWebhook{ChannelId: th.BasicChannel.Id, TeamId: th.BasicChannel.TeamId,
CallbackURLs: []string{"http://nowhere.com"}, TriggerWords: []string{"rats"}}
@@ -755,7 +755,7 @@ func TestUpdateOutgoingHook(t *testing.T) {
CheckForbiddenStatus(t, resp)
})
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = false })
utils.SetDefaultRolesBasedOnConfig()
hook2 := &model.OutgoingWebhook{ChannelId: th.BasicChannel.Id, TeamId: th.BasicChannel.TeamId,
CallbackURLs: []string{"http://nowhere.com"}, TriggerWords: []string{"rats2"}}
@@ -766,7 +766,7 @@ func TestUpdateOutgoingHook(t *testing.T) {
_, resp = Client.UpdateOutgoingWebhook(createdHook2)
CheckForbiddenStatus(t, resp)
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
Client.Logout()
@@ -840,15 +840,15 @@ func TestDeleteOutgoingHook(t *testing.T) {
defer th.TearDown()
Client := th.SystemAdminClient
- enableIncomingHooks := utils.Cfg.ServiceSettings.EnableIncomingWebhooks
- enableAdminOnlyHooks := utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations
+ enableIncomingHooks := th.App.Config().ServiceSettings.EnableIncomingWebhooks
+ enableAdminOnlyHooks := th.App.Config().ServiceSettings.EnableOnlyAdminIntegrations
defer func() {
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks
- utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = enableIncomingHooks })
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableOnlyAdminIntegrations = enableAdminOnlyHooks })
utils.SetDefaultRolesBasedOnConfig()
}()
- utils.Cfg.ServiceSettings.EnableIncomingWebhooks = true
- *utils.Cfg.ServiceSettings.EnableOnlyAdminIntegrations = true
+ th.App.UpdateConfig(func(cfg *model.Config) { cfg.ServiceSettings.EnableIncomingWebhooks = true })
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableOnlyAdminIntegrations = true })
utils.SetDefaultRolesBasedOnConfig()
var resp *model.Response
diff --git a/api4/webrtc_test.go b/api4/webrtc_test.go
index 4e2f28fb5..660bb6f62 100644
--- a/api4/webrtc_test.go
+++ b/api4/webrtc_test.go
@@ -4,9 +4,8 @@
package api4
import (
+ "github.com/mattermost/mattermost-server/model"
"testing"
-
- "github.com/mattermost/mattermost-server/utils"
)
func TestGetWebrtcToken(t *testing.T) {
@@ -18,11 +17,11 @@ func TestGetWebrtcToken(t *testing.T) {
defer th.TearDown()
Client := th.Client
- enableWebrtc := *utils.Cfg.WebrtcSettings.Enable
+ enableWebrtc := *th.App.Config().WebrtcSettings.Enable
defer func() {
- *utils.Cfg.WebrtcSettings.Enable = enableWebrtc
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.WebrtcSettings.Enable = enableWebrtc })
}()
- *utils.Cfg.WebrtcSettings.Enable = false
+ th.App.UpdateConfig(func(cfg *model.Config) { *cfg.WebrtcSettings.Enable = false })
_, resp := Client.GetWebrtcToken()
CheckNotImplementedStatus(t, resp)