Plugins: Add forward_host_env_vars setting (#79333)
* Plugins: Add forward_host_env_vars_plugins setting * Renamed forward_host_env_vars_plugins to forward_host_env_vars * Add readPluginIDsList * refactoring * lint * Use util.SplitString
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package setting
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
@@ -43,23 +44,55 @@ func TestPluginSettings(t *testing.T) {
|
||||
}
|
||||
|
||||
func Test_readPluginSettings(t *testing.T) {
|
||||
t.Run("should parse plugin ids", func(t *testing.T) {
|
||||
cfg := NewCfg()
|
||||
sec, err := cfg.Raw.NewSection("plugins")
|
||||
require.NoError(t, err)
|
||||
_, err = sec.NewKey("disable_plugins", "plugin1,plugin2")
|
||||
require.NoError(t, err)
|
||||
t.Run("should parse separated plugin ids", func(t *testing.T) {
|
||||
for _, tc := range []struct {
|
||||
name string
|
||||
f func(ids ...string) string
|
||||
}{
|
||||
{
|
||||
name: "commas",
|
||||
f: func(ids ...string) string {
|
||||
return strings.Join(ids, ",")
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "commas and a space",
|
||||
f: func(ids ...string) string {
|
||||
return strings.Join(ids, ", ")
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "spaces",
|
||||
f: func(ids ...string) string {
|
||||
return strings.Join(ids, " ")
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "json-like",
|
||||
f: func(ids ...string) string {
|
||||
return `["` + strings.Join(ids, `","`) + `"]`
|
||||
},
|
||||
},
|
||||
} {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
cfg := NewCfg()
|
||||
sec, err := cfg.Raw.NewSection("plugins")
|
||||
require.NoError(t, err)
|
||||
_, err = sec.NewKey("disable_plugins", tc.f("plugin1", "plugin2"))
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = sec.NewKey("plugin_catalog_hidden_plugins", "plugin3")
|
||||
require.NoError(t, err)
|
||||
_, err = sec.NewKey("plugin_catalog_hidden_plugins", tc.f("plugin3"))
|
||||
require.NoError(t, err)
|
||||
|
||||
_, err = sec.NewKey("hide_angular_deprecation", "a,b,c")
|
||||
require.NoError(t, err)
|
||||
_, err = sec.NewKey("hide_angular_deprecation", tc.f("a", "b", "c"))
|
||||
require.NoError(t, err)
|
||||
|
||||
err = cfg.readPluginSettings(cfg.Raw)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, []string{"plugin1", "plugin2"}, cfg.DisablePlugins)
|
||||
require.Equal(t, []string{"plugin3", "plugin1", "plugin2"}, cfg.PluginCatalogHiddenPlugins)
|
||||
require.Equal(t, []string{"a", "b", "c"}, cfg.HideAngularDeprecation)
|
||||
err = cfg.readPluginSettings(cfg.Raw)
|
||||
require.NoError(t, err)
|
||||
require.Equal(t, []string{"plugin1", "plugin2"}, cfg.DisablePlugins)
|
||||
require.Equal(t, []string{"plugin3", "plugin1", "plugin2"}, cfg.PluginCatalogHiddenPlugins)
|
||||
require.Equal(t, []string{"a", "b", "c"}, cfg.HideAngularDeprecation)
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user