本文整理汇总了Golang中github.com/juju/juju/worker/uniter/runner/jujuc.NewCommand函数的典型用法代码示例。如果您正苦于以下问题:Golang NewCommand函数的具体用法?Golang NewCommand怎么用?Golang NewCommand使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewCommand函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestRelationListHelp
func (s *RelationListSuite) TestRelationListHelp(c *gc.C) {
template := `
usage: relation-list [options]
purpose: list relation units
options:
--format (= smart)
specify output format (json|smart|yaml)
-o, --output (= "")
specify an output file
-r, --relation (= %s)
specify a relation by id
%s`[1:]
for relid, t := range map[int]struct {
usage, doc string
}{
-1: {"", "\n-r must be specified when not in a relation hook\n"},
0: {"peer0:0", ""},
} {
c.Logf("test relid %d", relid)
hctx, _ := s.newHookContext(relid, "")
com, err := jujuc.NewCommand(hctx, cmdString("relation-list"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
expect := fmt.Sprintf(template, t.usage, t.doc)
c.Assert(bufferString(ctx.Stdout), gc.Equals, expect)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
}
开发者ID:imoapps,项目名称:juju,代码行数:32,代码来源:relation-list_test.go
示例2: TestHelp
func (s *statusGetSuite) TestHelp(c *gc.C) {
hctx := s.GetStatusHookContext(c)
com, err := jujuc.NewCommand(hctx, cmdString("status-get"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
expectedHelp := "" +
"Usage: status-get [options] [--include-data] [--service]\n" +
"\n" +
"Summary:\n" +
"print status information\n" +
"\n" +
"Options:\n" +
"--format (= smart)\n" +
" Specify output format (json|smart|yaml)\n" +
"--include-data (= false)\n" +
" print all status data\n" +
"-o, --output (= \"\")\n" +
" Specify an output file\n" +
"--service (= false)\n" +
" print status for all units of this service if this unit is the leader\n" +
"\n" +
"Details:\n" +
"By default, only the status value is printed.\n" +
"If the --include-data flag is passed, the associated data are printed also.\n"
c.Assert(bufferString(ctx.Stdout), gc.Equals, expectedHelp)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:30,代码来源:status-get_test.go
示例3: TestHelp
func (s *statusSetSuite) TestHelp(c *gc.C) {
hctx := s.GetStatusHookContext(c)
com, err := jujuc.NewCommand(hctx, cmdString("status-set"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
expectedHelp := "" +
"Usage: status-set [options] <maintenance | blocked | waiting | active> [message]\n" +
"\n" +
"Summary:\n" +
"set status information\n" +
"\n" +
"Options:\n" +
"--service (= false)\n" +
" set this status for the service to which the unit belongs if the unit is the leader\n" +
"\n" +
"Details:\n" +
"Sets the workload status of the charm. Message is optional.\n" +
"The \"last updated\" attribute of the status is set, even if the\n" +
"status and message are the same as what's already set.\n"
c.Assert(bufferString(ctx.Stdout), gc.Equals, expectedHelp)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:25,代码来源:status-set_test.go
示例4: TestRelationList
func (s *RelationListSuite) TestRelationList(c *gc.C) {
for i, t := range relationListTests {
c.Logf("test %d: %s", i, t.summary)
hctx, info := s.newHookContext(t.relid, "")
info.setRelations(0, t.members0)
info.setRelations(1, t.members1)
c.Logf("%#v %#v", info.rels[t.relid], t.members1)
com, err := jujuc.NewCommand(hctx, cmdString("relation-list"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, t.args)
c.Logf(bufferString(ctx.Stderr))
c.Assert(code, gc.Equals, t.code)
if code == 0 {
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
expect := t.out
if expect != "" {
expect = expect + "\n"
}
c.Assert(bufferString(ctx.Stdout), gc.Equals, expect)
} else {
c.Assert(bufferString(ctx.Stdout), gc.Equals, "")
expect := fmt.Sprintf(`(.|\n)*error: %s\n`, t.out)
c.Assert(bufferString(ctx.Stderr), gc.Matches, expect)
}
}
}
开发者ID:imoapps,项目名称:juju,代码行数:27,代码来源:relation-list_test.go
示例5: TestHelp
func (s *storageGetSuite) TestHelp(c *gc.C) {
hctx, _ := s.newHookContext()
com, err := jujuc.NewCommand(hctx, cmdString("storage-get"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
c.Assert(bufferString(ctx.Stdout), gc.Equals, `Usage: storage-get [options] [<key>]
Summary:
print information for storage instance with specified id
Options:
--format (= smart)
Specify output format (json|smart|yaml)
-o, --output (= "")
Specify an output file
-s (= data/0)
specify a storage instance by id
Details:
When no <key> is supplied, all keys values are printed.
`)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:25,代码来源:storage-get_test.go
示例6: TestHelp
func (s *storageListSuite) TestHelp(c *gc.C) {
hctx := s.newHookContext()
com, err := jujuc.NewCommand(hctx, cmdString("storage-list"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
c.Assert(bufferString(ctx.Stdout), gc.Equals, `Usage: storage-list [options] [<storage-name>]
Summary:
list storage attached to the unit
Options:
--format (= smart)
Specify output format (json|smart|yaml)
-o, --output (= "")
Specify an output file
Details:
storage-list will list the names of all storage instances
attached to the unit. These names can be passed to storage-get
via the "-s" flag to query the storage attributes.
A storage name may be specified, in which case only storage
instances for that named storage will be returned.
`)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:28,代码来源:storage-list_test.go
示例7: TestBadArgs
func (s *OpenedPortsSuite) TestBadArgs(c *gc.C) {
hctx := s.GetHookContext(c, -1, "")
com, err := jujuc.NewCommand(hctx, cmdString("opened-ports"))
c.Assert(err, jc.ErrorIsNil)
err = testing.InitCommand(com, []string{"foo"})
c.Assert(err, gc.ErrorMatches, `unrecognized args: \["foo"\]`)
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:7,代码来源:opened-ports_test.go
示例8: TestRun
func (s *RelationSetSuite) TestRun(c *gc.C) {
hctx, info := s.newHookContext(0, "")
for i, t := range relationSetRunTests {
c.Logf("test %d", i)
pristine := jujuctesting.Settings{"pristine": "untouched"}
info.rels[0].Units["u/0"] = pristine
basic := jujuctesting.Settings{"base": "value"}
info.rels[1].Units["u/0"] = basic
// Run the command.
com, err := jujuc.NewCommand(hctx, cmdString("relation-set"))
c.Assert(err, jc.ErrorIsNil)
rset := com.(*jujuc.RelationSetCommand)
rset.RelationId = 1
rset.Settings = t.change
ctx := testing.Context(c)
err = com.Run(ctx)
c.Assert(err, jc.ErrorIsNil)
// Check changes.
c.Assert(info.rels[0].Units["u/0"], gc.DeepEquals, pristine)
c.Assert(info.rels[1].Units["u/0"], gc.DeepEquals, t.expect)
}
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:25,代码来源:relation-set_test.go
示例9: TestHelp
func (s *RelationIdsSuite) TestHelp(c *gc.C) {
template := `
usage: %s
purpose: list all relation ids with the given relation name
options:
--format (= smart)
specify output format (json|smart|yaml)
-o, --output (= "")
specify an output file
%s`[1:]
for relid, t := range map[int]struct {
usage, doc string
}{
-1: {"relation-ids [options] <name>", ""},
0: {"relation-ids [options] [<name>]", "\nCurrent default relation name is \"x\".\n"},
3: {"relation-ids [options] [<name>]", "\nCurrent default relation name is \"y\".\n"},
} {
c.Logf("relid %d", relid)
hctx, _ := s.newHookContext(relid, "")
com, err := jujuc.NewCommand(hctx, cmdString("relation-ids"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
expect := fmt.Sprintf(template, t.usage, t.doc)
c.Assert(bufferString(ctx.Stdout), gc.Equals, expect)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
}
开发者ID:imoapps,项目名称:juju,代码行数:31,代码来源:relation-ids_test.go
示例10: TestHelp
func (s *ActionGetSuite) TestHelp(c *gc.C) {
hctx := &actionGetContext{}
com, err := jujuc.NewCommand(hctx, cmdString("action-get"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
c.Assert(bufferString(ctx.Stdout), gc.Equals, `Usage: action-get [options] [<key>[.<key>.<key>...]]
Summary:
get action parameters
Options:
--format (= smart)
Specify output format (json|smart|yaml)
-o, --output (= "")
Specify an output file
Details:
action-get will print the value of the parameter at the given key, serialized
as YAML. If multiple keys are passed, action-get will recurse into the param
map as needed.
`)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:25,代码来源:action-get_test.go
示例11: TestServiceStatus
func (s *statusGetSuite) TestServiceStatus(c *gc.C) {
expected := map[string]interface{}{
"service-status": map[interface{}]interface{}{
"status-data": map[interface{}]interface{}{},
"units": map[interface{}]interface{}{
"": map[interface{}]interface{}{
"message": "this is a unit status",
"status": "active",
"status-data": map[interface{}]interface{}{},
},
},
"message": "this is a service status",
"status": "active"},
}
hctx := s.GetStatusHookContext(c)
setFakeServiceStatus(hctx)
com, err := jujuc.NewCommand(hctx, cmdString("status-get"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--format", "json", "--include-data", "--service"})
c.Assert(code, gc.Equals, 0)
var out map[string]interface{}
c.Assert(goyaml.Unmarshal(bufferBytes(ctx.Stdout), &out), gc.IsNil)
c.Assert(out, gc.DeepEquals, expected)
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:27,代码来源:status-get_test.go
示例12: TestOutputFormatJustStatus
func (s *statusGetSuite) TestOutputFormatJustStatus(c *gc.C) {
for i, t := range statusGetTests {
c.Logf("test %d: %#v", i, t.args)
hctx := s.GetStatusHookContext(c)
setFakeStatus(hctx)
com, err := jujuc.NewCommand(hctx, cmdString("status-get"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, t.args)
c.Assert(code, gc.Equals, 0)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
var out interface{}
var outMap map[string]interface{}
switch t.format {
case formatYaml:
c.Check(goyaml.Unmarshal(bufferBytes(ctx.Stdout), &outMap), gc.IsNil)
out = outMap
case formatJson:
c.Check(json.Unmarshal(bufferBytes(ctx.Stdout), &outMap), gc.IsNil)
out = outMap
default:
out = string(bufferBytes(ctx.Stdout))
}
c.Check(out, gc.DeepEquals, t.out)
}
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:27,代码来源:status-get_test.go
示例13: TestHelp
func (s *ConfigGetSuite) TestHelp(c *gc.C) {
hctx := s.GetHookContext(c, -1, "")
com, err := jujuc.NewCommand(hctx, cmdString("config-get"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
c.Assert(bufferString(ctx.Stdout), gc.Equals, `Usage: config-get [options] [<key>]
Summary:
print service configuration
Options:
-a, --all (= false)
print all keys
--format (= smart)
Specify output format (json|smart|yaml)
-o, --output (= "")
Specify an output file
Details:
When no <key> is supplied, all keys with values or defaults are printed. If
--all is set, all known keys are printed; those without defaults or values are
reported as null. <key> and --all are mutually exclusive.
`)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
开发者ID:bac,项目名称:juju,代码行数:27,代码来源:config-get_test.go
示例14: TestHelp
func (s *ActionSetSuite) TestHelp(c *gc.C) {
hctx := &actionSettingContext{}
com, err := jujuc.NewCommand(hctx, cmdString("action-set"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--help"})
c.Assert(code, gc.Equals, 0)
c.Assert(bufferString(ctx.Stdout), gc.Equals, `usage: action-set <key>=<value> [<key>=<value> ...]
purpose: set action results
action-set adds the given values to the results map of the Action. This map
is returned to the user after the completion of the Action. Keys must start
and end with lowercase alphanumeric, and contain only lowercase alphanumeric,
hyphens and periods.
Example usage:
action-set outfile.size=10G
action-set foo.bar=2
action-set foo.baz.val=3
action-set foo.bar.zab=4
action-set foo.baz=1
will yield:
outfile:
size: "10G"
foo:
bar:
zab: "4"
baz: "1"
`)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
}
开发者ID:imoapps,项目名称:juju,代码行数:33,代码来源:action-set_test.go
示例15: runCommand
func (s *OpenedPortsSuite) runCommand(c *gc.C, hctx *Context, args ...string) (stdout, stderr string) {
com, err := jujuc.NewCommand(hctx, cmdString("opened-ports"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, args)
c.Assert(code, gc.Equals, 0)
return bufferString(ctx.Stdout), bufferString(ctx.Stderr)
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:8,代码来源:opened-ports_test.go
示例16: createCommand
func (s *ApplicationVersionSetSuite) createCommand(c *gc.C, err error) (*Context, cmd.Command) {
hctx := s.GetHookContext(c, -1, "")
s.Stub.SetErrors(err)
com, err := jujuc.NewCommand(hctx, cmdString("application-version-set"))
c.Assert(err, jc.ErrorIsNil)
return hctx, com
}
开发者ID:bac,项目名称:juju,代码行数:8,代码来源:application-version-set_test.go
示例17: TestRebootInActions
func (s *JujuRebootSuite) TestRebootInActions(c *gc.C) {
jujucCtx := &actionGetContext{}
com, err := jujuc.NewCommand(jujucCtx, cmdString("juju-reboot"))
c.Assert(err, jc.ErrorIsNil)
cmdCtx := testing.Context(c)
code := cmd.Main(com, cmdCtx, nil)
c.Check(code, gc.Equals, 1)
c.Assert(testing.Stderr(cmdCtx), gc.Equals, "error: juju-reboot is not supported when running an action.\n")
}
开发者ID:imoapps,项目名称:juju,代码行数:9,代码来源:reboot_test.go
示例18: TestAllPlusKey
func (s *ConfigGetSuite) TestAllPlusKey(c *gc.C) {
hctx := s.GetHookContext(c, -1, "")
com, err := jujuc.NewCommand(hctx, cmdString("config-get"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"--all", "--format", "json", "monsters"})
c.Assert(code, gc.Equals, 2)
c.Assert(bufferString(ctx.Stderr), gc.Equals, "error: cannot use argument --all together with key \"monsters\"\n")
}
开发者ID:imoapps,项目名称:juju,代码行数:9,代码来源:config-get_test.go
示例19: TestStatusSetInit
func (s *statusSetSuite) TestStatusSetInit(c *gc.C) {
for i, t := range statusSetInitTests {
c.Logf("test %d: %#v", i, t.args)
hctx := s.GetStatusHookContext(c)
com, err := jujuc.NewCommand(hctx, cmdString("status-set"))
c.Assert(err, jc.ErrorIsNil)
testing.TestInit(c, com, t.args, t.err)
}
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:9,代码来源:status-set_test.go
示例20: TestNonActionSetActionFailedFails
func (s *ActionFailSuite) TestNonActionSetActionFailedFails(c *gc.C) {
hctx := &nonActionFailContext{}
com, err := jujuc.NewCommand(hctx, cmdString("action-fail"))
c.Assert(err, jc.ErrorIsNil)
ctx := testing.Context(c)
code := cmd.Main(com, ctx, []string{"oops"})
c.Check(code, gc.Equals, 1)
c.Check(bufferString(ctx.Stderr), gc.Equals, "error: not running an action\n")
c.Check(bufferString(ctx.Stdout), gc.Equals, "")
}
开发者ID:AlexisBruemmer,项目名称:juju,代码行数:10,代码来源:action-fail_test.go
注:本文中的github.com/juju/juju/worker/uniter/runner/jujuc.NewCommand函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论