| 
									
										
										
										
											2020-01-10 22:33:54 +08:00
										 |  |  | package setting | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"os" | 
					
						
							|  |  |  | 	"testing" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	"github.com/stretchr/testify/require" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestDynamicSettingsSupport_Override(t *testing.T) { | 
					
						
							|  |  |  | 	cfg := NewCfg() | 
					
						
							|  |  |  | 	envKey := "GF_FOO_BAR" | 
					
						
							|  |  |  | 	sectionName := "foo" | 
					
						
							|  |  |  | 	keyName := "bar" | 
					
						
							|  |  |  | 	expected := "dynamic value" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-15 16:32:06 +08:00
										 |  |  | 	err := os.Setenv(envKey, expected) | 
					
						
							|  |  |  | 	require.NoError(t, err) | 
					
						
							|  |  |  | 	defer func() { | 
					
						
							|  |  |  | 		err := os.Unsetenv(envKey) | 
					
						
							|  |  |  | 		require.NoError(t, err) | 
					
						
							|  |  |  | 	}() | 
					
						
							| 
									
										
										
										
											2020-01-10 22:33:54 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	value := cfg.SectionWithEnvOverrides(sectionName).Key(keyName).MustString("default value") | 
					
						
							|  |  |  | 	require.Equal(t, expected, value) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func TestDynamicSettingsSupport_NoOverride(t *testing.T) { | 
					
						
							|  |  |  | 	cfg := NewCfg() | 
					
						
							| 
									
										
										
										
											2021-08-25 21:11:22 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-10 22:33:54 +08:00
										 |  |  | 	sectionName := "foo" | 
					
						
							|  |  |  | 	keyName := "bar" | 
					
						
							|  |  |  | 	expected := "default value" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	_, err := cfg.Raw.Section(sectionName).NewKey(keyName, expected) | 
					
						
							|  |  |  | 	require.NoError(t, err) | 
					
						
							|  |  |  | 	value := cfg.SectionWithEnvOverrides(sectionName).Key(keyName).String() | 
					
						
							|  |  |  | 	require.Equal(t, expected, value) | 
					
						
							|  |  |  | } |