| package cliplugins |
| |
| import ( |
| "path/filepath" |
| "testing" |
| |
| "github.com/docker/cli/cli/config" |
| "gotest.tools/v3/assert" |
| "gotest.tools/v3/icmd" |
| ) |
| |
| func TestConfig(t *testing.T) { |
| run, cfg, cleanup := prepare(t) |
| defer cleanup() |
| |
| cfg.SetPluginConfig("helloworld", "who", "Cambridge") |
| err := cfg.Save() |
| assert.NilError(t, err) |
| |
| res := icmd.RunCmd(run("helloworld")) |
| res.Assert(t, icmd.Expected{ |
| ExitCode: 0, |
| Out: "Hello Cambridge", |
| }) |
| |
| cfg2, err := config.Load(filepath.Dir(cfg.GetFilename())) |
| assert.NilError(t, err) |
| assert.DeepEqual(t, cfg2.Plugins, map[string]map[string]string{ |
| "helloworld": { |
| "who": "Cambridge", |
| "lastwho": "Cambridge", |
| }, |
| }) |
| } |