summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorChris <ccbrown112@gmail.com>2018-02-07 16:20:51 -0600
committerGitHub <noreply@github.com>2018-02-07 16:20:51 -0600
commit0f703a3368a0b16fcd48b474377f0dbd2144f366 (patch)
tree4928199b534de6e1d42d8057c70ebe626b237d4a /app
parenteff65aa05c74e93533c2504b8141b0474011e68c (diff)
downloadchat-0f703a3368a0b16fcd48b474377f0dbd2144f366.tar.gz
chat-0f703a3368a0b16fcd48b474377f0dbd2144f366.tar.bz2
chat-0f703a3368a0b16fcd48b474377f0dbd2144f366.zip
Eliminate utils.SetLicense calls (#8217)
* eliminate utils.SetLicense calls * test fix * another test fix * more test fixes
Diffstat (limited to 'app')
-rw-r--r--app/app.go3
-rw-r--r--app/config.go8
-rw-r--r--app/license.go16
-rw-r--r--app/session_test.go13
4 files changed, 19 insertions, 21 deletions
diff --git a/app/app.go b/app/app.go
index 0b5efa76b..3c37ec252 100644
--- a/app/app.go
+++ b/app/app.go
@@ -88,6 +88,9 @@ func New(options ...Option) (*App, error) {
panic("Only one App should exist at a time. Did you forget to call Shutdown()?")
}
+ // TODO: remove this once utils global license state is eliminated
+ utils.SetLicense(nil)
+
app := &App{
goroutineExitSignal: make(chan struct{}, 1),
Srv: &Server{
diff --git a/app/config.go b/app/config.go
index 46426c442..55be24352 100644
--- a/app/config.go
+++ b/app/config.go
@@ -254,11 +254,3 @@ func (a *App) Desanitize(cfg *model.Config) {
cfg.SqlSettings.DataSourceSearchReplicas[i] = actual.SqlSettings.DataSourceSearchReplicas[i]
}
}
-
-// License returns the currently active license or nil if the application is unlicensed.
-func (a *App) License() *model.License {
- if utils.IsLicensed() {
- return utils.License()
- }
- return nil
-}
diff --git a/app/license.go b/app/license.go
index c7fd07197..7402b5c22 100644
--- a/app/license.go
+++ b/app/license.go
@@ -59,7 +59,7 @@ func (a *App) SaveLicense(licenseBytes []byte) (*model.License, *model.AppError)
}
}
- if ok := utils.SetLicense(license); !ok {
+ if ok := a.SetLicense(license); !ok {
return nil, model.NewAppError("addLicense", model.EXPIRED_LICENSE_ERROR, nil, "", http.StatusBadRequest)
}
@@ -102,6 +102,20 @@ func (a *App) SaveLicense(licenseBytes []byte) (*model.License, *model.AppError)
return license, nil
}
+// License returns the currently active license or nil if the application is unlicensed.
+func (a *App) License() *model.License {
+ if utils.IsLicensed() {
+ return utils.License()
+ }
+ return nil
+}
+
+func (a *App) SetLicense(license *model.License) bool {
+ ok := utils.SetLicense(license)
+ a.SetDefaultRolesBasedOnConfig()
+ return ok
+}
+
func (a *App) RemoveLicense() *model.AppError {
utils.RemoveLicense()
diff --git a/app/session_test.go b/app/session_test.go
index bca3b59b7..09d81f4ac 100644
--- a/app/session_test.go
+++ b/app/session_test.go
@@ -48,18 +48,7 @@ func TestGetSessionIdleTimeoutInMinutes(t *testing.T) {
session, _ = th.App.CreateSession(session)
- isLicensed := utils.IsLicensed()
- license := utils.License()
- timeout := *th.App.Config().ServiceSettings.SessionIdleTimeoutInMinutes
- defer func() {
- utils.SetIsLicensed(isLicensed)
- utils.SetLicense(license)
- th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.SessionIdleTimeoutInMinutes = timeout })
- }()
- utils.SetIsLicensed(true)
- utils.SetLicense(&model.License{Features: &model.Features{}})
- utils.License().Features.SetDefaults()
- *utils.License().Features.Compliance = true
+ th.App.SetLicense(model.NewTestLicense("compliance"))
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.SessionIdleTimeoutInMinutes = 5 })
rsession, err := th.App.GetSession(session.Token)