summaryrefslogtreecommitdiffstats
path: root/api4
diff options
context:
space:
mode:
Diffstat (limited to 'api4')
-rw-r--r--api4/plugin.go4
-rw-r--r--api4/plugin_test.go20
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)