You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
845 B
35 lines
845 B
package config
|
|
|
|
import (
|
|
"github.com/spf13/viper"
|
|
"github.com/stretchr/testify/require"
|
|
"testing"
|
|
)
|
|
|
|
func Test_MergeConfigMap(t *testing.T) {
|
|
//setup
|
|
testConfig := configuration{
|
|
Viper: viper.New(),
|
|
}
|
|
testConfig.Set("user.dashboard_display", "hello")
|
|
testConfig.SetDefault("user.layout", "hello")
|
|
|
|
mergeSettings := map[string]interface{}{
|
|
"user": map[string]interface{}{
|
|
"dashboard_display": "dashboard_display",
|
|
"layout": "layout",
|
|
},
|
|
}
|
|
//test
|
|
err := testConfig.MergeConfigMap(mergeSettings)
|
|
|
|
//verify
|
|
require.NoError(t, err)
|
|
|
|
// if using Set, the MergeConfigMap functionality will not override
|
|
// if using SetDefault, the MergeConfigMap will override correctly
|
|
require.Equal(t, "hello", testConfig.GetString("user.dashboard_display"))
|
|
require.Equal(t, "layout", testConfig.GetString("user.layout"))
|
|
|
|
}
|