本文整理匯總了Golang中github.com/juju/juju/cmd/juju/application.NewConfigCommandForTest函數的典型用法代碼示例。如果您正苦於以下問題:Golang NewConfigCommandForTest函數的具體用法?Golang NewConfigCommandForTest怎麽用?Golang NewConfigCommandForTest使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了NewConfigCommandForTest函數的14個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: assertSetWarning
func (s *configCommandSuite) assertSetWarning(c *gc.C, dir string, args []string, w string) {
ctx := coretesting.ContextForDir(c, dir)
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, append([]string{"dummy-application"}, args...))
c.Check(code, gc.Equals, 0)
c.Assert(strings.Replace(c.GetTestLog(), "\n", " ", -1), gc.Matches, ".*WARNING.*"+w+".*")
}
示例2: TestGetConfigKeyNotFound
func (s *configCommandSuite) TestGetConfigKeyNotFound(c *gc.C) {
ctx := coretesting.Context(c)
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, []string{"dummy-application", "invalid"})
c.Check(code, gc.Equals, 1)
c.Assert(ctx.Stderr.(*bytes.Buffer).String(), gc.Equals, "error: key \"invalid\" not found in \"dummy-application\" application settings.\n")
c.Assert(ctx.Stdout.(*bytes.Buffer).String(), gc.Equals, "")
}
示例3: TestGetConfigKey
func (s *configCommandSuite) TestGetConfigKey(c *gc.C) {
ctx := coretesting.Context(c)
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, []string{"dummy-application", "title"})
c.Check(code, gc.Equals, 0)
c.Assert(ctx.Stderr.(*bytes.Buffer).String(), gc.Equals, "")
c.Assert(ctx.Stdout.(*bytes.Buffer).String(), gc.Equals, "Nearly There\n")
}
示例4: TestSetFromStdin
func (s *configCommandSuite) TestSetFromStdin(c *gc.C) {
s.fake = &fakeApplicationAPI{name: "dummy-application"}
ctx := coretesting.Context(c)
ctx.Stdin = strings.NewReader("settings:\n username:\n value: world\n")
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, []string{
"dummy-application",
"--file",
"-"})
c.Check(code, gc.Equals, 0)
c.Check(s.fake.config, jc.DeepEquals, "settings:\n username:\n value: world\n")
}
示例5: TestBlockSetConfig
func (s *configCommandSuite) TestBlockSetConfig(c *gc.C) {
// Block operation
s.fake.err = common.OperationBlockedError("TestBlockSetConfig")
ctx := coretesting.ContextForDir(c, s.dir)
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, []string{
"dummy-application",
"--file",
"testconfig.yaml"})
c.Check(code, gc.Equals, 1)
// msg is logged
stripped := strings.Replace(c.GetTestLog(), "\n", "", -1)
c.Check(stripped, gc.Matches, ".*TestBlockSetConfig.*")
}
示例6: TestSetCommandInit
func (s *configCommandSuite) TestSetCommandInit(c *gc.C) {
// missing args
err := coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{})
c.Assert(err, gc.ErrorMatches, "no application name specified")
// missing application name
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"name=foo"})
c.Assert(err, gc.ErrorMatches, "no application name specified")
// --file path, but no application
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"--file", "testconfig.yaml"})
c.Assert(err, gc.ErrorMatches, "no application name specified")
// --file and options specified
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"application", "--file", "testconfig.yaml", "bees="})
c.Assert(err, gc.ErrorMatches, "cannot specify --file and key=value arguments simultaneously")
// --reset and no config name provided
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"application", "--reset"})
c.Assert(err, gc.ErrorMatches, "no configuration options specified")
}
示例7: TestSetConfig
func (s *configCommandSuite) TestSetConfig(c *gc.C) {
s.assertSetFail(c, s.dir, []string{
"--file",
"missing.yaml",
}, "error.* "+utils.NoSuchFileErrRegexp+"\n")
ctx := coretesting.ContextForDir(c, s.dir)
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, []string{
"dummy-application",
"--file",
"testconfig.yaml"})
c.Check(code, gc.Equals, 0)
c.Check(s.fake.config, gc.Equals, yamlConfigValue)
}
示例8: TestSetCommandInit
func (s *configCommandSuite) TestSetCommandInit(c *gc.C) {
// missing args
err := coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{})
c.Assert(err, gc.ErrorMatches, "no application name specified")
// missing application name
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"name=foo"})
c.Assert(err, gc.ErrorMatches, "no application name specified")
// --file path, but no application
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"--file", "testconfig.yaml"})
c.Assert(err, gc.ErrorMatches, "no application name specified")
// --file and options specified
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"application", "--file", "testconfig.yaml", "bees="})
c.Assert(err, gc.ErrorMatches, "cannot specify --file and key=value arguments simultaneously")
// --reset and no config name provided
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"application", "--reset"})
c.Assert(err, gc.ErrorMatches, "flag needs an argument: --reset")
// cannot set and retrieve simultaneously
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"application", "get", "set=value"})
c.Assert(err, gc.ErrorMatches, "cannot set and retrieve values simultaneously")
// cannot reset and get simultaneously
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"application", "--reset", "reset", "get"})
c.Assert(err, gc.ErrorMatches, "cannot reset and retrieve values simultaneously")
// invalid reset keys
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"application", "--reset", "reset,bad=key"})
c.Assert(err, gc.ErrorMatches, `--reset accepts a comma delimited set of keys "a,b,c", received: "bad=key"`)
// init too many args fails
err = coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"application", "key", "another"})
c.Assert(err, gc.ErrorMatches, "can only retrieve a single value, or all values")
}
示例9: TestGetConfig
func (s *configCommandSuite) TestGetConfig(c *gc.C) {
for _, t := range getTests {
ctx := coretesting.Context(c)
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, []string{t.application})
c.Check(code, gc.Equals, 0)
c.Assert(ctx.Stderr.(*bytes.Buffer).String(), gc.Equals, "")
// round trip via goyaml to avoid being sucked into a quagmire of
// map[interface{}]interface{} vs map[string]interface{}. This is
// also required if we add json support to this command.
buf, err := goyaml.Marshal(t.expected)
c.Assert(err, jc.ErrorIsNil)
expected := make(map[string]interface{})
err = goyaml.Unmarshal(buf, &expected)
c.Assert(err, jc.ErrorIsNil)
actual := make(map[string]interface{})
err = goyaml.Unmarshal(ctx.Stdout.(*bytes.Buffer).Bytes(), &actual)
c.Assert(err, jc.ErrorIsNil)
c.Assert(actual, gc.DeepEquals, expected)
}
}
示例10: TestGetCommandInitWithApplication
func (s *configCommandSuite) TestGetCommandInitWithApplication(c *gc.C) {
err := coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"app"})
// everything ok
c.Assert(err, jc.ErrorIsNil)
}
示例11: TestGetCommandInit
func (s *configCommandSuite) TestGetCommandInit(c *gc.C) {
// missing args
err := coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{})
c.Assert(err, gc.ErrorMatches, "no application name specified")
}
示例12: assertSetFail
// assertSetFail sets configuration options and checks the expected error.
func (s *configCommandSuite) assertSetFail(c *gc.C, dir string, args []string, err string) {
ctx := coretesting.ContextForDir(c, dir)
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, append([]string{"dummy-application"}, args...))
c.Check(code, gc.Not(gc.Equals), 0)
c.Assert(ctx.Stderr.(*bytes.Buffer).String(), gc.Matches, err)
}
示例13: assertSetSuccess
// assertSetSuccess sets configuration options and checks the expected settings.
func (s *configCommandSuite) assertSetSuccess(c *gc.C, dir string, args []string, expect map[string]interface{}) {
ctx := coretesting.ContextForDir(c, dir)
code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, append([]string{"dummy-application"}, args...))
c.Assert(code, gc.Equals, 0)
}
示例14: TestGetCommandInitTooManyArgs
func (s *configCommandSuite) TestGetCommandInitTooManyArgs(c *gc.C) {
err := coretesting.InitCommand(application.NewConfigCommandForTest(s.fake), []string{"app", "key", "another"})
c.Assert(err, gc.ErrorMatches, "can only retrieve a single value, or all values")
}