mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
| package backendplugin
 | |
| 
 | |
| import (
 | |
| 	"sort"
 | |
| 	"testing"
 | |
| 
 | |
| 	"github.com/grafana/grafana/pkg/setting"
 | |
| 	"github.com/stretchr/testify/require"
 | |
| )
 | |
| 
 | |
| func TestPluginSettings(t *testing.T) {
 | |
| 	t.Run("Should only extract from sections beginning with 'plugin.' in config", func(t *testing.T) {
 | |
| 		cfg := &setting.Cfg{
 | |
| 			PluginSettings: setting.PluginSettings{
 | |
| 				"plugin": map[string]string{
 | |
| 					"key1": "value1",
 | |
| 					"key2": "value2",
 | |
| 				},
 | |
| 			},
 | |
| 		}
 | |
| 
 | |
| 		ps := extractPluginSettings(cfg)
 | |
| 		require.Len(t, ps, 1)
 | |
| 		require.Len(t, ps["plugin"], 2)
 | |
| 
 | |
| 		t.Run("Should skip path setting", func(t *testing.T) {
 | |
| 			cfg.PluginSettings["plugin"]["path"] = "value"
 | |
| 			ps := extractPluginSettings(cfg)
 | |
| 			require.Len(t, ps["plugin"], 2)
 | |
| 		})
 | |
| 
 | |
| 		t.Run("Should skip id setting", func(t *testing.T) {
 | |
| 			cfg.PluginSettings["plugin"]["id"] = "value"
 | |
| 			ps := extractPluginSettings(cfg)
 | |
| 			require.Len(t, ps["plugin"], 2)
 | |
| 		})
 | |
| 
 | |
| 		t.Run("Should return expected environment variables from plugin settings ", func(t *testing.T) {
 | |
| 			ps := extractPluginSettings(cfg)
 | |
| 			env := ps["plugin"].ToEnv("GF_PLUGIN", []string{"GF_VERSION=6.7.0"})
 | |
| 			sort.Strings(env)
 | |
| 			require.Len(t, env, 3)
 | |
| 			require.EqualValues(t, []string{"GF_PLUGIN_KEY1=value1", "GF_PLUGIN_KEY2=value2", "GF_VERSION=6.7.0"}, env)
 | |
| 		})
 | |
| 	})
 | |
| }
 |