diff options
Diffstat (limited to 'api4')
-rw-r--r-- | api4/plugin.go | 4 | ||||
-rw-r--r-- | api4/plugin_test.go | 20 |
2 files changed, 19 insertions, 5 deletions
diff --git a/api4/plugin.go b/api4/plugin.go index c1ee986da..155a5c807 100644 --- a/api4/plugin.go +++ b/api4/plugin.go @@ -32,8 +32,8 @@ func (api *API) InitPlugin() { } func uploadPlugin(c *Context, w http.ResponseWriter, r *http.Request) { - if !*c.App.Config().PluginSettings.Enable { - c.Err = model.NewAppError("uploadPlugin", "app.plugin.disabled.app_error", nil, "", http.StatusNotImplemented) + if !*c.App.Config().PluginSettings.Enable || !*c.App.Config().PluginSettings.EnableUploads { + c.Err = model.NewAppError("uploadPlugin", "app.plugin.upload_disabled.app_error", nil, "", http.StatusNotImplemented) return } diff --git a/api4/plugin_test.go b/api4/plugin_test.go index a3f3bd49a..48ee4fb74 100644 --- a/api4/plugin_test.go +++ b/api4/plugin_test.go @@ -28,10 +28,17 @@ func TestPlugin(t *testing.T) { defer th.TearDown() enablePlugins := *th.App.Config().PluginSettings.Enable + enableUploadPlugins := *th.App.Config().PluginSettings.EnableUploads defer func() { - th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = enablePlugins }) + th.App.UpdateConfig(func(cfg *model.Config) { + *cfg.PluginSettings.Enable = enablePlugins + *cfg.PluginSettings.EnableUploads = enableUploadPlugins + }) }() - th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true }) + th.App.UpdateConfig(func(cfg *model.Config) { + *cfg.PluginSettings.Enable = true + *cfg.PluginSettings.EnableUploads = true + }) th.App.InitPlugins(pluginDir, webappDir) defer func() { @@ -61,7 +68,14 @@ func TestPlugin(t *testing.T) { _, resp = th.SystemAdminClient.UploadPlugin(file) CheckNotImplementedStatus(t, resp) - th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true }) + th.App.UpdateConfig(func(cfg *model.Config) { + *cfg.PluginSettings.Enable = true + *cfg.PluginSettings.EnableUploads = false + }) + _, resp = th.SystemAdminClient.UploadPlugin(file) + CheckNotImplementedStatus(t, resp) + + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.EnableUploads = true }) _, resp = th.Client.UploadPlugin(file) CheckForbiddenStatus(t, resp) |