[MM-49989] Pass a context.Context to Client4 methods (#22922)
* Migrate all method in model/client4.go to accept a context.Context * Fix th.*Client * Fix remaining issues * Empty commit to triger CI * Fix test * Add cancellation test * Test that returned error is context.Canceled * Fix bad merge * Update mmctl code --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
7116e9267a
Коммит
6c82605df0
@@ -5,6 +5,7 @@ package api4
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
@@ -56,15 +57,15 @@ func TestPlugin(t *testing.T) {
|
||||
|
||||
url := testServer.URL
|
||||
|
||||
manifest, _, err := client.InstallPluginFromURL(url, false)
|
||||
manifest, _, err := client.InstallPluginFromURL(context.Background(), url, false)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "testplugin", manifest.Id)
|
||||
|
||||
_, resp, err := client.InstallPluginFromURL(url, false)
|
||||
_, resp, err := client.InstallPluginFromURL(context.Background(), url, false)
|
||||
require.Error(t, err)
|
||||
CheckBadRequestStatus(t, resp)
|
||||
|
||||
manifest, _, err = client.InstallPluginFromURL(url, true)
|
||||
manifest, _, err = client.InstallPluginFromURL(context.Background(), url, true)
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "testplugin", manifest.Id)
|
||||
|
||||
@@ -73,41 +74,41 @@ func TestPlugin(t *testing.T) {
|
||||
assert.Nil(t, appErr)
|
||||
assert.True(t, pluginStored)
|
||||
|
||||
_, err = client.RemovePlugin(manifest.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
th.App.Channels().RemovePlugin(manifest.Id)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = false })
|
||||
|
||||
_, resp, err = client.InstallPluginFromURL(url, false)
|
||||
_, resp, err = client.InstallPluginFromURL(context.Background(), url, false)
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true })
|
||||
|
||||
_, resp, err = th.Client.InstallPluginFromURL(url, false)
|
||||
_, resp, err = th.Client.InstallPluginFromURL(context.Background(), url, false)
|
||||
require.Error(t, err)
|
||||
CheckForbiddenStatus(t, resp)
|
||||
|
||||
_, resp, err = client.InstallPluginFromURL("http://nodata", false)
|
||||
_, resp, err = client.InstallPluginFromURL(context.Background(), "http://nodata", false)
|
||||
require.Error(t, err)
|
||||
CheckBadRequestStatus(t, resp)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.AllowInsecureDownloadURL = false })
|
||||
|
||||
_, resp, err = client.InstallPluginFromURL(url, false)
|
||||
_, resp, err = client.InstallPluginFromURL(context.Background(), url, false)
|
||||
require.Error(t, err)
|
||||
CheckBadRequestStatus(t, resp)
|
||||
|
||||
// Successful upload
|
||||
manifest, _, err = client.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err = client.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "testplugin", manifest.Id)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.EnableUploads = true })
|
||||
|
||||
manifest, _, err = client.UploadPluginForced(bytes.NewReader(tarData))
|
||||
manifest, _, err = client.UploadPluginForced(context.Background(), bytes.NewReader(tarData))
|
||||
defer os.RemoveAll("plugins/testplugin")
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -119,12 +120,12 @@ func TestPlugin(t *testing.T) {
|
||||
assert.True(t, pluginStored)
|
||||
|
||||
// Upload error cases
|
||||
_, resp, err = client.UploadPlugin(bytes.NewReader([]byte("badfile")))
|
||||
_, resp, err = client.UploadPlugin(context.Background(), bytes.NewReader([]byte("badfile")))
|
||||
require.Error(t, err)
|
||||
CheckBadRequestStatus(t, resp)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = false })
|
||||
_, resp, err = client.UploadPlugin(bytes.NewReader(tarData))
|
||||
_, resp, err = client.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
|
||||
@@ -132,21 +133,21 @@ func TestPlugin(t *testing.T) {
|
||||
*cfg.PluginSettings.Enable = true
|
||||
*cfg.PluginSettings.EnableUploads = false
|
||||
})
|
||||
_, resp, err = client.UploadPlugin(bytes.NewReader(tarData))
|
||||
_, resp, err = client.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
|
||||
_, resp, err = client.InstallPluginFromURL(url, false)
|
||||
_, resp, err = client.InstallPluginFromURL(context.Background(), url, false)
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.EnableUploads = true })
|
||||
_, resp, err = th.Client.UploadPlugin(bytes.NewReader(tarData))
|
||||
_, resp, err = th.Client.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.Error(t, err)
|
||||
CheckForbiddenStatus(t, resp)
|
||||
|
||||
// Successful gets
|
||||
pluginsResp, _, err := client.GetPlugins()
|
||||
pluginsResp, _, err := client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
|
||||
found := false
|
||||
@@ -168,10 +169,10 @@ func TestPlugin(t *testing.T) {
|
||||
assert.False(t, found)
|
||||
|
||||
// Successful activate
|
||||
_, err = client.EnablePlugin(manifest.Id)
|
||||
_, err = client.EnablePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
|
||||
found = false
|
||||
@@ -184,19 +185,19 @@ func TestPlugin(t *testing.T) {
|
||||
assert.True(t, found)
|
||||
|
||||
// Activate error case
|
||||
resp, err = client.EnablePlugin("junk")
|
||||
resp, err = client.EnablePlugin(context.Background(), "junk")
|
||||
require.Error(t, err)
|
||||
CheckNotFoundStatus(t, resp)
|
||||
|
||||
resp, err = client.EnablePlugin("JUNK")
|
||||
resp, err = client.EnablePlugin(context.Background(), "JUNK")
|
||||
require.Error(t, err)
|
||||
CheckNotFoundStatus(t, resp)
|
||||
|
||||
// Successful deactivate
|
||||
_, err = client.DisablePlugin(manifest.Id)
|
||||
_, err = client.DisablePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
|
||||
found = false
|
||||
@@ -209,26 +210,26 @@ func TestPlugin(t *testing.T) {
|
||||
assert.True(t, found)
|
||||
|
||||
// Deactivate error case
|
||||
resp, err = client.DisablePlugin("junk")
|
||||
resp, err = client.DisablePlugin(context.Background(), "junk")
|
||||
require.Error(t, err)
|
||||
CheckNotFoundStatus(t, resp)
|
||||
|
||||
// Get error cases
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = false })
|
||||
_, resp, err = client.GetPlugins()
|
||||
_, resp, err = client.GetPlugins(context.Background())
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true })
|
||||
_, resp, err = th.Client.GetPlugins()
|
||||
_, resp, err = th.Client.GetPlugins(context.Background())
|
||||
require.Error(t, err)
|
||||
CheckForbiddenStatus(t, resp)
|
||||
|
||||
// Successful webapp get
|
||||
_, err = client.EnablePlugin(manifest.Id)
|
||||
_, err = client.EnablePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
manifests, _, err := th.Client.GetWebappPlugins()
|
||||
manifests, _, err := th.Client.GetWebappPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
|
||||
found = false
|
||||
@@ -241,25 +242,25 @@ func TestPlugin(t *testing.T) {
|
||||
assert.True(t, found)
|
||||
|
||||
// Successful remove
|
||||
_, err = client.RemovePlugin(manifest.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Remove error cases
|
||||
resp, err = client.RemovePlugin(manifest.Id)
|
||||
resp, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.Error(t, err)
|
||||
CheckNotFoundStatus(t, resp)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = false })
|
||||
resp, err = client.RemovePlugin(manifest.Id)
|
||||
resp, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
|
||||
th.App.UpdateConfig(func(cfg *model.Config) { *cfg.PluginSettings.Enable = true })
|
||||
resp, err = th.Client.RemovePlugin(manifest.Id)
|
||||
resp, err = th.Client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.Error(t, err)
|
||||
CheckForbiddenStatus(t, resp)
|
||||
|
||||
resp, err = client.RemovePlugin("bad.id")
|
||||
resp, err = client.RemovePlugin(context.Background(), "bad.id")
|
||||
require.Error(t, err)
|
||||
CheckNotFoundStatus(t, resp)
|
||||
})
|
||||
@@ -284,7 +285,7 @@ func TestNotifyClusterPluginEvent(t *testing.T) {
|
||||
testCluster.ClearMessages()
|
||||
|
||||
// Successful upload
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "testplugin", manifest.Id)
|
||||
|
||||
@@ -311,7 +312,7 @@ func TestNotifyClusterPluginEvent(t *testing.T) {
|
||||
|
||||
// Upgrade
|
||||
testCluster.ClearMessages()
|
||||
manifest, _, err = th.SystemAdminClient.UploadPluginForced(bytes.NewReader(tarData))
|
||||
manifest, _, err = th.SystemAdminClient.UploadPluginForced(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "testplugin", manifest.Id)
|
||||
|
||||
@@ -337,7 +338,7 @@ func TestNotifyClusterPluginEvent(t *testing.T) {
|
||||
}()
|
||||
|
||||
testCluster.ClearMessages()
|
||||
_, err = th.SystemAdminClient.RemovePlugin(manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
result := <-done
|
||||
@@ -390,12 +391,12 @@ func TestDisableOnRemove(t *testing.T) {
|
||||
})
|
||||
|
||||
// Upload
|
||||
manifest, _, err := client.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := client.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "testplugin", manifest.Id)
|
||||
|
||||
// Check initial status
|
||||
pluginsResp, _, err := client.GetPlugins()
|
||||
pluginsResp, _, err := client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, pluginsResp.Active)
|
||||
require.Equal(t, pluginsResp.Inactive, []*model.PluginInfo{{
|
||||
@@ -403,11 +404,11 @@ func TestDisableOnRemove(t *testing.T) {
|
||||
}})
|
||||
|
||||
// Enable plugin
|
||||
_, err = client.EnablePlugin(manifest.Id)
|
||||
_, err = client.EnablePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Confirm enabled status
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, pluginsResp.Inactive)
|
||||
require.Equal(t, pluginsResp.Active, []*model.PluginInfo{{
|
||||
@@ -416,12 +417,12 @@ func TestDisableOnRemove(t *testing.T) {
|
||||
|
||||
if tc.Upgrade {
|
||||
// Upgrade
|
||||
manifest, _, err = client.UploadPluginForced(bytes.NewReader(tarData))
|
||||
manifest, _, err = client.UploadPluginForced(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "testplugin", manifest.Id)
|
||||
|
||||
// Plugin should remain active
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, pluginsResp.Inactive)
|
||||
require.Equal(t, pluginsResp.Active, []*model.PluginInfo{{
|
||||
@@ -430,22 +431,22 @@ func TestDisableOnRemove(t *testing.T) {
|
||||
}
|
||||
|
||||
// Remove plugin
|
||||
_, err = client.RemovePlugin(manifest.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
// Plugin should have no status
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, pluginsResp.Inactive)
|
||||
require.Empty(t, pluginsResp.Active)
|
||||
|
||||
// Upload same plugin
|
||||
manifest, _, err = client.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err = client.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, "testplugin", manifest.Id)
|
||||
|
||||
// Plugin should be inactive
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, pluginsResp.Active)
|
||||
require.Equal(t, pluginsResp.Inactive, []*model.PluginInfo{{
|
||||
@@ -453,7 +454,7 @@ func TestDisableOnRemove(t *testing.T) {
|
||||
}})
|
||||
|
||||
// Clean up
|
||||
_, err = client.RemovePlugin(manifest.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
})
|
||||
@@ -476,7 +477,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = "invalid.com"
|
||||
})
|
||||
|
||||
plugins, resp, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, resp, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
require.Nil(t, plugins)
|
||||
@@ -488,7 +489,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = "invalid.com"
|
||||
})
|
||||
|
||||
plugins, resp, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, resp, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, plugins)
|
||||
@@ -500,7 +501,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = "invalid.com"
|
||||
})
|
||||
|
||||
plugins, resp, err := th.Client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, resp, err := th.Client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.Error(t, err)
|
||||
CheckForbiddenStatus(t, resp)
|
||||
require.Nil(t, plugins)
|
||||
@@ -520,7 +521,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = testServer.URL
|
||||
})
|
||||
|
||||
plugins, _, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, plugins)
|
||||
}, "empty response from server")
|
||||
@@ -545,7 +546,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = testServer.URL
|
||||
})
|
||||
|
||||
plugins, _, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, plugins)
|
||||
}, "verify server version is passed through")
|
||||
@@ -569,7 +570,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = testServer.URL
|
||||
})
|
||||
|
||||
plugins, _, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, plugins)
|
||||
}, "verify EnterprisePlugins is false for TE")
|
||||
@@ -598,7 +599,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
*l.Features.EnterprisePlugins = false
|
||||
th.App.Srv().SetLicense(l)
|
||||
|
||||
plugins, _, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, plugins)
|
||||
}, "verify EnterprisePlugins is false for E10")
|
||||
@@ -624,7 +625,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
|
||||
th.App.Srv().SetLicense(model.NewTestLicense("enterprise_plugins"))
|
||||
|
||||
plugins, _, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, plugins)
|
||||
}, "verify EnterprisePlugins is true for E20")
|
||||
@@ -648,7 +649,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = testServer.URL
|
||||
})
|
||||
|
||||
plugins, _, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, plugins)
|
||||
}, "verify EnterprisePlugins is false if there is no license")
|
||||
@@ -674,7 +675,7 @@ func TestGetMarketplacePlugins(t *testing.T) {
|
||||
|
||||
th.App.Srv().SetLicense(model.NewTestLicense("cloud"))
|
||||
|
||||
plugins, _, err := client.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := client.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Empty(t, plugins)
|
||||
}, "verify Cloud is true for cloud license")
|
||||
@@ -728,11 +729,11 @@ func TestGetInstalledMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = testServer.URL
|
||||
})
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, samplePlugins, plugins)
|
||||
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
|
||||
testIcon, err := os.ReadFile(filepath.Join(path, "test.svg"))
|
||||
@@ -758,14 +759,14 @@ func TestGetInstalledMarketplacePlugins(t *testing.T) {
|
||||
return strings.ToLower(expectedPlugins[i].Manifest.Name) < strings.ToLower(expectedPlugins[j].Manifest.Name)
|
||||
})
|
||||
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, expectedPlugins, plugins)
|
||||
|
||||
_, err = th.SystemAdminClient.RemovePlugin(manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, samplePlugins, plugins)
|
||||
})
|
||||
@@ -780,7 +781,7 @@ func TestGetInstalledMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.EnableMarketplace = true
|
||||
})
|
||||
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
|
||||
newPlugin := &model.MarketplacePlugin{
|
||||
@@ -809,14 +810,14 @@ func TestGetInstalledMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = testServer.URL
|
||||
})
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, expectedPlugins, plugins)
|
||||
|
||||
_, err = th.SystemAdminClient.RemovePlugin(manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
newPlugin.InstalledVersion = ""
|
||||
require.Equal(t, expectedPlugins, plugins)
|
||||
@@ -873,11 +874,11 @@ func TestSearchGetMarketplacePlugins(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = testServer.URL
|
||||
})
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, samplePlugins, plugins)
|
||||
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
|
||||
plugin1 := &model.MarketplacePlugin{
|
||||
@@ -896,7 +897,7 @@ func TestSearchGetMarketplacePlugins(t *testing.T) {
|
||||
}
|
||||
expectedPlugins := append(samplePlugins, plugin1)
|
||||
|
||||
manifest, _, err = th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarDataV2))
|
||||
manifest, _, err = th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarDataV2))
|
||||
require.NoError(t, err)
|
||||
|
||||
plugin2 := &model.MarketplacePlugin{
|
||||
@@ -918,32 +919,32 @@ func TestSearchGetMarketplacePlugins(t *testing.T) {
|
||||
return strings.ToLower(expectedPlugins[i].Manifest.Name) < strings.ToLower(expectedPlugins[j].Manifest.Name)
|
||||
})
|
||||
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, expectedPlugins, plugins)
|
||||
|
||||
// Search for plugins from the server
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{Filter: "testplugin2"})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{Filter: "testplugin2"})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, []*model.MarketplacePlugin{plugin2}, plugins)
|
||||
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{Filter: "a second plugin"})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{Filter: "a second plugin"})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, []*model.MarketplacePlugin{plugin2}, plugins)
|
||||
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{Filter: "User Satisfaction Surveys"})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{Filter: "User Satisfaction Surveys"})
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, samplePlugins, plugins)
|
||||
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{Filter: "NOFILTER"})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{Filter: "NOFILTER"})
|
||||
require.NoError(t, err)
|
||||
require.Nil(t, plugins)
|
||||
|
||||
// cleanup
|
||||
_, err = th.SystemAdminClient.RemovePlugin(plugin1.Manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), plugin1.Manifest.Id)
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = th.SystemAdminClient.RemovePlugin(plugin2.Manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), plugin2.Manifest.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
}
|
||||
@@ -989,7 +990,7 @@ func TestGetLocalPluginInMarketplace(t *testing.T) {
|
||||
*cfg.PluginSettings.EnableRemoteMarketplace = true
|
||||
})
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Len(t, plugins, len(samplePlugins))
|
||||
@@ -1007,15 +1008,15 @@ func TestGetLocalPluginInMarketplace(t *testing.T) {
|
||||
tarData, err := os.ReadFile(filepath.Join(path, "testplugin.tar.gz"))
|
||||
require.NoError(t, err)
|
||||
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Len(t, plugins, 2)
|
||||
|
||||
_, err = th.SystemAdminClient.RemovePlugin(manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
@@ -1026,7 +1027,7 @@ func TestGetLocalPluginInMarketplace(t *testing.T) {
|
||||
})
|
||||
|
||||
// No marketplace plugins returned
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Len(t, plugins, 0)
|
||||
@@ -1036,7 +1037,7 @@ func TestGetLocalPluginInMarketplace(t *testing.T) {
|
||||
tarData, err := os.ReadFile(filepath.Join(path, "testplugin.tar.gz"))
|
||||
require.NoError(t, err)
|
||||
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
|
||||
testIcon, err := os.ReadFile(filepath.Join(path, "test.svg"))
|
||||
@@ -1054,14 +1055,14 @@ func TestGetLocalPluginInMarketplace(t *testing.T) {
|
||||
InstalledVersion: manifest.Version,
|
||||
}
|
||||
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err = th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
|
||||
// Only get the local plugins
|
||||
require.Len(t, plugins, 1)
|
||||
require.Equal(t, newPlugin, plugins[0])
|
||||
|
||||
_, err = th.SystemAdminClient.RemovePlugin(manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
@@ -1076,7 +1077,7 @@ func TestGetLocalPluginInMarketplace(t *testing.T) {
|
||||
tarData, err := os.ReadFile(filepath.Join(path, "testplugin.tar.gz"))
|
||||
require.NoError(t, err)
|
||||
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
|
||||
testIcon, err := os.ReadFile(filepath.Join(path, "test.svg"))
|
||||
@@ -1098,13 +1099,13 @@ func TestGetLocalPluginInMarketplace(t *testing.T) {
|
||||
InstalledVersion: manifest.Version,
|
||||
}
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{LocalOnly: true})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{LocalOnly: true})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Len(t, plugins, 1)
|
||||
require.Equal(t, newPlugin, plugins[0])
|
||||
|
||||
_, err = th.SystemAdminClient.RemovePlugin(manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
}
|
||||
@@ -1152,16 +1153,16 @@ func TestGetRemotePluginInMarketplace(t *testing.T) {
|
||||
tarData, err := os.ReadFile(filepath.Join(path, "testplugin.tar.gz"))
|
||||
require.NoError(t, err)
|
||||
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, _, err := th.SystemAdminClient.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.NoError(t, err)
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{RemoteOnly: true})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{RemoteOnly: true})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Len(t, plugins, 1)
|
||||
require.Equal(t, samplePlugins[0], plugins[0])
|
||||
|
||||
_, err = th.SystemAdminClient.RemovePlugin(manifest.Id)
|
||||
_, err = th.SystemAdminClient.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
@@ -1217,7 +1218,7 @@ func TestGetPrepackagedPluginInMarketplace(t *testing.T) {
|
||||
*cfg.PluginSettings.EnableUploads = true
|
||||
})
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
|
||||
expectedPlugins := marketplacePlugins
|
||||
@@ -1238,7 +1239,7 @@ func TestGetPrepackagedPluginInMarketplace(t *testing.T) {
|
||||
})
|
||||
|
||||
// No marketplace plugins returned
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
|
||||
// Only returns the prepackaged plugins
|
||||
@@ -1264,7 +1265,7 @@ func TestGetPrepackagedPluginInMarketplace(t *testing.T) {
|
||||
env := th.App.GetPluginsEnvironment()
|
||||
env.SetPrepackagedPlugins([]*plugin.PrepackagedPlugin{newerPrepackagePlugin})
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Len(t, plugins, 1)
|
||||
@@ -1279,7 +1280,7 @@ func TestGetPrepackagedPluginInMarketplace(t *testing.T) {
|
||||
|
||||
th.App.Srv().SetLicense(model.NewTestLicense("cloud"))
|
||||
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(&model.MarketplacePluginFilter{})
|
||||
plugins, _, err := th.SystemAdminClient.GetMarketplacePlugins(context.Background(), &model.MarketplacePluginFilter{})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.ElementsMatch(t, marketplacePlugins, plugins)
|
||||
@@ -1354,7 +1355,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
*cfg.PluginSettings.EnableMarketplace = false
|
||||
*cfg.PluginSettings.MarketplaceURL = "invalid.com"
|
||||
})
|
||||
plugin, resp, err := client.InstallMarketplacePlugin(request)
|
||||
plugin, resp, err := client.InstallMarketplacePlugin(context.Background(), request)
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
require.Nil(t, plugin)
|
||||
@@ -1365,12 +1366,12 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
*cfg.PluginSettings.Enable = true
|
||||
*cfg.PluginSettings.RequirePluginSignature = true
|
||||
})
|
||||
manifest, resp, err := client.UploadPlugin(bytes.NewReader(tarData))
|
||||
manifest, resp, err := client.UploadPlugin(context.Background(), bytes.NewReader(tarData))
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
|
||||
manifest, resp, err = client.InstallPluginFromURL("some_url", true)
|
||||
manifest, resp, err = client.InstallPluginFromURL(context.Background(), "some_url", true)
|
||||
require.Error(t, err)
|
||||
CheckNotImplementedStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
@@ -1382,7 +1383,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = "invalid.com"
|
||||
})
|
||||
|
||||
plugin, resp, err := client.InstallMarketplacePlugin(request)
|
||||
plugin, resp, err := client.InstallMarketplacePlugin(context.Background(), request)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, plugin)
|
||||
@@ -1394,7 +1395,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = "invalid.com"
|
||||
})
|
||||
|
||||
plugin, resp, err := th.Client.InstallMarketplacePlugin(request)
|
||||
plugin, resp, err := th.Client.InstallMarketplacePlugin(context.Background(), request)
|
||||
require.Error(t, err)
|
||||
CheckForbiddenStatus(t, resp)
|
||||
require.Nil(t, plugin)
|
||||
@@ -1414,7 +1415,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
*cfg.PluginSettings.MarketplaceURL = testServer.URL
|
||||
})
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "some_plugin_id"}
|
||||
plugin, resp, err := client.InstallMarketplacePlugin(pRequest)
|
||||
plugin, resp, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, plugin)
|
||||
@@ -1435,7 +1436,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
*cfg.PluginSettings.AllowInsecureDownloadURL = true
|
||||
})
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin2"}
|
||||
plugin, resp, err := client.InstallMarketplacePlugin(pRequest)
|
||||
plugin, resp, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, plugin)
|
||||
@@ -1465,7 +1466,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
require.Nil(t, appErr)
|
||||
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin2"}
|
||||
manifest, _, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, _, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, manifest)
|
||||
require.Equal(t, "testplugin2", manifest.Id)
|
||||
@@ -1476,7 +1477,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
require.Nil(t, appErr)
|
||||
require.EqualValues(t, sigFile, savedSigFile)
|
||||
|
||||
_, err = client.RemovePlugin(manifest.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
exists, appErr := th.App.FileExists(filePath)
|
||||
require.Nil(t, appErr)
|
||||
@@ -1510,7 +1511,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
require.Nil(t, appErr)
|
||||
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin2", Version: "9.9.9"}
|
||||
manifest, _, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, _, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, manifest)
|
||||
require.Equal(t, "testplugin2", manifest.Id)
|
||||
@@ -1521,7 +1522,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
require.Nil(t, appErr)
|
||||
require.EqualValues(t, sigFile, savedSigFile)
|
||||
|
||||
_, err = client.RemovePlugin(manifest.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
exists, appErr := th.App.FileExists(filePath)
|
||||
require.Nil(t, appErr)
|
||||
@@ -1557,7 +1558,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
})
|
||||
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin"}
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
@@ -1595,7 +1596,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
th.App.Srv().SetLicense(l)
|
||||
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin"}
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
@@ -1629,7 +1630,7 @@ func TestInstallMarketplacePlugin(t *testing.T) {
|
||||
th.App.Srv().SetLicense(model.NewTestLicense("enterprise_plugins"))
|
||||
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin"}
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
@@ -1755,14 +1756,14 @@ func TestInstallMarketplacePluginPrepackagedDisabled(t *testing.T) {
|
||||
|
||||
env := th.App.GetPluginsEnvironment()
|
||||
|
||||
pluginsResp, _, err := client.GetPlugins()
|
||||
pluginsResp, _, err := client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Len(t, pluginsResp.Active, 0)
|
||||
require.Len(t, pluginsResp.Inactive, 0)
|
||||
|
||||
t.Run("Should fail to install unknown prepackaged plugin", func(t *testing.T) {
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testpluginXX"}
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
@@ -1772,7 +1773,7 @@ func TestInstallMarketplacePluginPrepackagedDisabled(t *testing.T) {
|
||||
require.Equal(t, "testplugin", plugins[0].Manifest.Id)
|
||||
require.Equal(t, pluginSignatureData, plugins[0].Signature)
|
||||
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Len(t, pluginsResp.Active, 0)
|
||||
require.Len(t, pluginsResp.Inactive, 0)
|
||||
@@ -1780,18 +1781,18 @@ func TestInstallMarketplacePluginPrepackagedDisabled(t *testing.T) {
|
||||
|
||||
t.Run("Install prepackaged plugin with Marketplace disabled", func(t *testing.T) {
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin"}
|
||||
manifest, _, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, _, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, manifest)
|
||||
require.Equal(t, "testplugin", manifest.Id)
|
||||
require.Equal(t, "0.0.1", manifest.Version)
|
||||
|
||||
t.Cleanup(func() {
|
||||
_, err = client.RemovePlugin(manifest.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Len(t, pluginsResp.Active, 0)
|
||||
require.Equal(t, pluginsResp.Inactive, []*model.PluginInfo{{
|
||||
@@ -1801,7 +1802,7 @@ func TestInstallMarketplacePluginPrepackagedDisabled(t *testing.T) {
|
||||
|
||||
t.Run("Try to install remote marketplace plugin while Marketplace is disabled", func(t *testing.T) {
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin2"}
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
@@ -1817,11 +1818,11 @@ func TestInstallMarketplacePluginPrepackagedDisabled(t *testing.T) {
|
||||
|
||||
t.Run("Install prepackaged, not listed plugin with Marketplace enabled", func(t *testing.T) {
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin"}
|
||||
manifest, _, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, _, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.NoError(t, err)
|
||||
|
||||
t.Cleanup(func() {
|
||||
_, err = client.RemovePlugin(manifest.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
@@ -1832,30 +1833,30 @@ func TestInstallMarketplacePluginPrepackagedDisabled(t *testing.T) {
|
||||
|
||||
t.Run("Install both a prepacked and a Marketplace plugin", func(t *testing.T) {
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin"}
|
||||
manifest1, _, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest1, _, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, manifest1)
|
||||
assert.Equal(t, "testplugin", manifest1.Id)
|
||||
assert.Equal(t, "0.0.1", manifest1.Version)
|
||||
|
||||
t.Cleanup(func() {
|
||||
_, err = client.RemovePlugin(manifest1.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest1.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
pRequest = &model.InstallMarketplacePluginRequest{Id: "testplugin2"}
|
||||
manifest2, _, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest2, _, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, manifest2)
|
||||
require.Equal(t, "testplugin2", manifest2.Id)
|
||||
require.Equal(t, "1.2.3", manifest2.Version)
|
||||
|
||||
t.Cleanup(func() {
|
||||
_, err = client.RemovePlugin(manifest2.Id)
|
||||
_, err = client.RemovePlugin(context.Background(), manifest2.Id)
|
||||
require.NoError(t, err)
|
||||
})
|
||||
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Len(t, pluginsResp.Active, 0)
|
||||
require.ElementsMatch(t, pluginsResp.Inactive, []*model.PluginInfo{
|
||||
@@ -1927,29 +1928,29 @@ func TestInstallMarketplacePluginPrepackagedDisabled(t *testing.T) {
|
||||
require.Equal(t, "testplugin", plugins[0].Manifest.Id)
|
||||
require.Empty(t, plugins[0].Signature)
|
||||
|
||||
pluginsResp, _, err := client.GetPlugins()
|
||||
pluginsResp, _, err := client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Len(t, pluginsResp.Active, 0)
|
||||
require.Len(t, pluginsResp.Inactive, 0)
|
||||
|
||||
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin"}
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, resp, err := client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Len(t, pluginsResp.Active, 0)
|
||||
require.Len(t, pluginsResp.Inactive, 0)
|
||||
|
||||
pRequest = &model.InstallMarketplacePluginRequest{Id: "testplugin2"}
|
||||
manifest, resp, err = client.InstallMarketplacePlugin(pRequest)
|
||||
manifest, resp, err = client.InstallMarketplacePlugin(context.Background(), pRequest)
|
||||
require.Error(t, err)
|
||||
CheckInternalErrorStatus(t, resp)
|
||||
require.Nil(t, manifest)
|
||||
|
||||
pluginsResp, _, err = client.GetPlugins()
|
||||
pluginsResp, _, err = client.GetPlugins(context.Background())
|
||||
require.NoError(t, err)
|
||||
require.Len(t, pluginsResp.Active, 0)
|
||||
require.Len(t, pluginsResp.Inactive, 0)
|
||||
|
||||
Ссылка в новой задаче
Block a user