X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/889c4f35d4b74d7c6f043790b04104fec9d8e37b..ac2785f7f3932ffa4988b6752482f0c1c6883c02:/lib/config/cmd_test.go diff --git a/lib/config/cmd_test.go b/lib/config/cmd_test.go index 39dcb4fe6b..bedcc0dd8c 100644 --- a/lib/config/cmd_test.go +++ b/lib/config/cmd_test.go @@ -16,32 +16,70 @@ type CommandSuite struct{} func (s *CommandSuite) TestBadArg(c *check.C) { var stderr bytes.Buffer - code := DumpCommand.RunCommand("arvados dump-config", []string{"-badarg"}, bytes.NewBuffer(nil), bytes.NewBuffer(nil), &stderr) + code := DumpCommand.RunCommand("arvados config-dump", []string{"-badarg"}, bytes.NewBuffer(nil), bytes.NewBuffer(nil), &stderr) c.Check(code, check.Equals, 2) c.Check(stderr.String(), check.Matches, `(?ms)usage: .*`) } func (s *CommandSuite) TestEmptyInput(c *check.C) { var stdout, stderr bytes.Buffer - code := DumpCommand.RunCommand("arvados dump-config", nil, &bytes.Buffer{}, &stdout, &stderr) + code := DumpCommand.RunCommand("arvados config-dump", nil, &bytes.Buffer{}, &stdout, &stderr) c.Check(code, check.Equals, 1) c.Check(stderr.String(), check.Matches, `config does not define any clusters\n`) } -func (s *CommandSuite) TestLogDeprecatedKeys(c *check.C) { +func (s *CommandSuite) TestCheckNoDeprecatedKeys(c *check.C) { var stdout, stderr bytes.Buffer in := ` Clusters: z1234: - RequestLimits: + API: MaxItemsPerResponse: 1234 ` - code := DumpCommand.RunCommand("arvados dump-config", nil, bytes.NewBufferString(in), &stdout, &stderr) + code := CheckCommand.RunCommand("arvados config-check", nil, bytes.NewBufferString(in), &stdout, &stderr) c.Check(code, check.Equals, 0) - c.Check(stderr.String(), check.Matches, `(?ms).*overriding Clusters.z1234.API.MaxItemsPerResponse .* = 1234.*`) + c.Check(stdout.String(), check.Equals, "") + c.Check(stderr.String(), check.Equals, "") } -func (s *CommandSuite) TestUnknownKey(c *check.C) { +func (s *CommandSuite) TestCheckDeprecatedKeys(c *check.C) { + var stdout, stderr bytes.Buffer + in := ` +Clusters: + z1234: + RequestLimits: + MaxItemsPerResponse: 1234 +` + code := CheckCommand.RunCommand("arvados config-check", nil, bytes.NewBufferString(in), &stdout, &stderr) + c.Check(code, check.Equals, 1) + c.Check(stdout.String(), check.Matches, `(?ms).*API:\n\- +.*MaxItemsPerResponse: 1000\n\+ +MaxItemsPerResponse: 1234\n.*`) +} + +func (s *CommandSuite) TestCheckUnknownKey(c *check.C) { + var stdout, stderr bytes.Buffer + in := ` +Clusters: + z1234: + Bogus1: foo + BogusSection: + Bogus2: foo + API: + Bogus3: + Bogus4: true + PostgreSQL: + ConnectionPool: + {Bogus5: true} +` + code := CheckCommand.RunCommand("arvados config-check", nil, bytes.NewBufferString(in), &stdout, &stderr) + c.Log(stderr.String()) + c.Check(code, check.Equals, 1) + c.Check(stderr.String(), check.Matches, `(?ms).*deprecated or unknown config entry: Clusters.z1234.Bogus1\n.*`) + c.Check(stderr.String(), check.Matches, `(?ms).*deprecated or unknown config entry: Clusters.z1234.BogusSection\n.*`) + c.Check(stderr.String(), check.Matches, `(?ms).*deprecated or unknown config entry: Clusters.z1234.API.Bogus3\n.*`) + c.Check(stderr.String(), check.Matches, `(?ms).*unexpected object in config entry: Clusters.z1234.PostgreSQL.ConnectionPool\n.*`) +} + +func (s *CommandSuite) TestDumpUnknownKey(c *check.C) { var stdout, stderr bytes.Buffer in := ` Clusters: @@ -49,9 +87,9 @@ Clusters: UnknownKey: foobar ManagementToken: secret ` - code := DumpCommand.RunCommand("arvados dump-config", nil, bytes.NewBufferString(in), &stdout, &stderr) + code := DumpCommand.RunCommand("arvados config-dump", nil, bytes.NewBufferString(in), &stdout, &stderr) c.Check(code, check.Equals, 0) - c.Check(stderr.String(), check.Equals, "") + c.Check(stderr.String(), check.Matches, `(?ms).*deprecated or unknown config entry: Clusters.z1234.UnknownKey.*`) c.Check(stdout.String(), check.Matches, `(?ms)Clusters:\n z1234:\n.*`) c.Check(stdout.String(), check.Matches, `(?ms).*\n *ManagementToken: secret\n.*`) c.Check(stdout.String(), check.Not(check.Matches), `(?ms).*UnknownKey.*`)