gosimpleconf/flag_overrides_test.go

42 lines
807 B
Go

package gosimpleconf
import (
"flag"
"strings"
"testing"
)
func TestFlagOverrides(t *testing.T) {
var err error
configFileStr := `
foo=bar
asdf = 1234
foo.wat =stuff
immaempty=
`
configFile := strings.NewReader(configFileStr)
expectedMap := make(ConfigMap)
expectedMap["foo"] = "bar"
expectedMap["asdf"] = "1234"
// expect to override the 'foo.wat' value with a cli flag
expectedMap["foo.wat"] = "iwasoverridden"
expectedMap["immaempty"] = ""
configMap, err := parseFile(configFile)
if err != nil {
t.Errorf("failed while parsing the file")
}
flagMap := SetupFlagOverrides(configMap)
err = flag.Set("foo.wat", "iwasoverridden")
if err != nil {
t.Errorf("failed to set cli flag override")
}
configMap = ParseFlags(configMap, flagMap)
validateMap(t, configMap, expectedMap)
}