github.com/moby/docker@v26.1.3+incompatible/daemon/config/config_windows_test.go (about) 1 package config // import "github.com/docker/docker/daemon/config" 2 3 import ( 4 "testing" 5 6 "github.com/docker/docker/opts" 7 "github.com/spf13/pflag" 8 "gotest.tools/v3/assert" 9 is "gotest.tools/v3/assert/cmp" 10 ) 11 12 func TestDaemonConfigurationMerge(t *testing.T) { 13 configFile := makeConfigFile(t, ` 14 { 15 "debug": true 16 }`) 17 18 conf, err := New() 19 assert.NilError(t, err) 20 21 flags := pflag.NewFlagSet("test", pflag.ContinueOnError) 22 flags.BoolVarP(&conf.Debug, "debug", "D", false, "") 23 flags.BoolVarP(&conf.AutoRestart, "restart", "r", true, "") 24 flags.StringVar(&conf.LogConfig.Type, "log-driver", "json-file", "") 25 flags.Var(opts.NewNamedMapOpts("log-opts", conf.LogConfig.Config, nil), "log-opt", "") 26 assert.Check(t, flags.Set("restart", "true")) 27 assert.Check(t, flags.Set("log-driver", "syslog")) 28 assert.Check(t, flags.Set("log-opt", "tag=from_flag")) 29 30 cc, err := MergeDaemonConfigurations(conf, flags, configFile) 31 assert.NilError(t, err) 32 33 assert.Check(t, cc.Debug) 34 assert.Check(t, cc.AutoRestart) 35 36 expectedLogConfig := LogConfig{ 37 Type: "syslog", 38 Config: map[string]string{"tag": "from_flag"}, 39 } 40 41 assert.Check(t, is.DeepEqual(expectedLogConfig, cc.LogConfig)) 42 }