本文整理汇总了Golang中github.com/juju/core/testing.RunCommand函数的典型用法代码示例。如果您正苦于以下问题:Golang RunCommand函数的具体用法?Golang RunCommand怎么用?Golang RunCommand使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了RunCommand函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestRemoveUser
func (s *RemoveUserSuite) TestRemoveUser(c *gc.C) {
_, err := testing.RunCommand(c, envcmd.Wrap(&UserAddCommand{}), "foobar")
c.Assert(err, gc.IsNil)
_, err = testing.RunCommand(c, envcmd.Wrap(&RemoveUserCommand{}), "foobar")
c.Assert(err, gc.IsNil)
}
开发者ID:jkary,项目名称:core,代码行数:7,代码来源:removeuser_test.go
示例2: TestBootstrapTwice
func (s *BootstrapSuite) TestBootstrapTwice(c *gc.C) {
env := resetJujuHome(c)
defaultSeriesVersion := version.Current
defaultSeriesVersion.Series = config.PreferredSeries(env.Config())
// Force a dev version by having an odd minor version number.
// This is because we have not uploaded any tools and auto
// upload is only enabled for dev versions.
defaultSeriesVersion.Minor = 11
s.PatchValue(&version.Current, defaultSeriesVersion)
_, err := coretesting.RunCommand(c, envcmd.Wrap(&BootstrapCommand{}))
c.Assert(err, gc.IsNil)
_, err = coretesting.RunCommand(c, envcmd.Wrap(&BootstrapCommand{}))
c.Assert(err, gc.ErrorMatches, "environment is already bootstrapped")
}
开发者ID:jkary,项目名称:core,代码行数:16,代码来源:bootstrap_test.go
示例3: TestAllMachines
func (s *RunSuite) TestAllMachines(c *gc.C) {
mock := s.setupMockAPI()
mock.setMachinesAlive("0", "1")
response0 := mockResponse{
stdout: "megatron\n",
machineId: "0",
}
response1 := mockResponse{
error: "command timed out",
machineId: "1",
}
mock.setResponse("0", response0)
unformatted := ConvertRunResults([]params.RunResult{
makeRunResult(response0),
makeRunResult(response1),
})
jsonFormatted, err := cmd.FormatJson(unformatted)
c.Assert(err, gc.IsNil)
context, err := testing.RunCommand(c, &RunCommand{}, "--format=json", "--all", "hostname")
c.Assert(err, gc.IsNil)
c.Check(testing.Stdout(context), gc.Equals, string(jsonFormatted)+"\n")
}
开发者ID:jkary,项目名称:core,代码行数:26,代码来源:run_test.go
示例4: TestRunForMachineAndUnit
func (s *RunSuite) TestRunForMachineAndUnit(c *gc.C) {
mock := s.setupMockAPI()
machineResponse := mockResponse{
stdout: "megatron\n",
machineId: "0",
}
unitResponse := mockResponse{
stdout: "bumblebee",
machineId: "1",
unitId: "unit/0",
}
mock.setResponse("0", machineResponse)
mock.setResponse("unit/0", unitResponse)
unformatted := ConvertRunResults([]params.RunResult{
makeRunResult(machineResponse),
makeRunResult(unitResponse),
})
jsonFormatted, err := cmd.FormatJson(unformatted)
c.Assert(err, gc.IsNil)
context, err := testing.RunCommand(c, envcmd.Wrap(&RunCommand{}),
"--format=json", "--machine=0", "--unit=unit/0", "hostname",
)
c.Assert(err, gc.IsNil)
c.Check(testing.Stdout(context), gc.Equals, string(jsonFormatted)+"\n")
}
开发者ID:jkary,项目名称:core,代码行数:29,代码来源:run_test.go
示例5: TestMissingToolsError
func (s *BootstrapSuite) TestMissingToolsError(c *gc.C) {
s.setupAutoUploadTest(c, "1.8.3", "precise")
_, err := coretesting.RunCommand(c, envcmd.Wrap(&BootstrapCommand{}))
c.Assert(err, gc.ErrorMatches, "cannot upload bootstrap tools: Juju "+
"cannot bootstrap because no tools are available for your "+
"environment(.|\n)*")
}
开发者ID:jkary,项目名称:core,代码行数:8,代码来源:bootstrap_test.go
示例6: TestImportKeys
func (s *ImportKeySuite) TestImportKeys(c *gc.C) {
key1 := sshtesting.ValidKeyOne.Key + " [email protected]"
s.setAuthorizedKeys(c, key1)
context, err := coretesting.RunCommand(c, envcmd.Wrap(&ImportKeysCommand{}), "lp:validuser", "invalid-key")
c.Assert(err, gc.IsNil)
c.Assert(coretesting.Stderr(context), gc.Matches, `cannot import key id "invalid-key".*\n`)
s.assertEnvironKeys(c, key1, sshtesting.ValidKeyThree.Key)
}
开发者ID:jkary,项目名称:core,代码行数:9,代码来源:authorizedkeys_test.go
示例7: TestDestroyEnvironmentCommandEmptyJenv
func (s *destroyEnvSuite) TestDestroyEnvironmentCommandEmptyJenv(c *gc.C) {
_, err := s.ConfigStore.CreateInfo("emptyenv")
c.Assert(err, gc.IsNil)
context, err := coretesting.RunCommand(c, new(DestroyEnvironmentCommand), "-e", "emptyenv")
c.Assert(err, gc.IsNil)
c.Assert(coretesting.Stderr(context), gc.Equals, "removing empty environment file\n")
}
开发者ID:jkary,项目名称:core,代码行数:9,代码来源:destroyenvironment_test.go
示例8: TestUpgradeReportsDeprecated
func (s *DeploySuite) TestUpgradeReportsDeprecated(c *gc.C) {
coretesting.Charms.ClonedDirPath(s.SeriesPath, "dummy")
ctx, err := coretesting.RunCommand(c, envcmd.Wrap(&DeployCommand{}), "local:dummy", "-u")
c.Assert(err, gc.IsNil)
c.Assert(coretesting.Stdout(ctx), gc.Equals, "")
output := strings.Split(coretesting.Stderr(ctx), "\n")
c.Check(output[0], gc.Matches, `Added charm ".*" to the environment.`)
c.Check(output[1], gc.Equals, "--upgrade (or -u) is deprecated and ignored; charms are always deployed with a unique revision.")
}
开发者ID:jkary,项目名称:core,代码行数:10,代码来源:deploy_test.go
示例9: TestAddKey
func (s *AddKeySuite) TestAddKey(c *gc.C) {
key1 := sshtesting.ValidKeyOne.Key + " [email protected]"
s.setAuthorizedKeys(c, key1)
key2 := sshtesting.ValidKeyTwo.Key + " [email protected]"
context, err := coretesting.RunCommand(c, envcmd.Wrap(&AddKeysCommand{}), key2, "invalid-key")
c.Assert(err, gc.IsNil)
c.Assert(coretesting.Stderr(context), gc.Matches, `cannot add key "invalid-key".*\n`)
s.assertEnvironKeys(c, key1, key2)
}
开发者ID:jkary,项目名称:core,代码行数:10,代码来源:authorizedkeys_test.go
示例10: TestMissingToolsUploadFailedError
func (s *BootstrapSuite) TestMissingToolsUploadFailedError(c *gc.C) {
s.setupAutoUploadTest(c, "1.7.3", "precise")
s.PatchValue(&sync.Upload, uploadToolsAlwaysFails)
ctx, err := coretesting.RunCommand(c, envcmd.Wrap(&BootstrapCommand{}))
c.Check(coretesting.Stderr(ctx), gc.Matches,
"uploading tools for series \\[precise .* raring\\]\n")
c.Check(err, gc.ErrorMatches, "cannot upload bootstrap tools: an error")
}
开发者ID:jkary,项目名称:core,代码行数:10,代码来源:bootstrap_test.go
示例11: TestDeleteKeys
func (s *DeleteKeySuite) TestDeleteKeys(c *gc.C) {
key1 := sshtesting.ValidKeyOne.Key + " [email protected]"
key2 := sshtesting.ValidKeyTwo.Key + " [email protected]"
s.setAuthorizedKeys(c, key1, key2)
context, err := coretesting.RunCommand(c, envcmd.Wrap(&DeleteKeysCommand{}),
sshtesting.ValidKeyTwo.Fingerprint, "invalid-key")
c.Assert(err, gc.IsNil)
c.Assert(coretesting.Stderr(context), gc.Matches, `cannot delete key id "invalid-key".*\n`)
s.assertEnvironKeys(c, key1)
}
开发者ID:jkary,项目名称:core,代码行数:11,代码来源:authorizedkeys_test.go
示例12: TestImportKeyNonDefaultUser
func (s *ImportKeySuite) TestImportKeyNonDefaultUser(c *gc.C) {
key1 := sshtesting.ValidKeyOne.Key + " [email protected]"
s.setAuthorizedKeys(c, key1)
_, err := s.State.AddUser("fred", "password")
c.Assert(err, gc.IsNil)
context, err := coretesting.RunCommand(c, envcmd.Wrap(&ImportKeysCommand{}), "--user", "fred", "lp:validuser")
c.Assert(err, gc.IsNil)
c.Assert(coretesting.Stderr(context), gc.Equals, "")
s.assertEnvironKeys(c, key1, sshtesting.ValidKeyThree.Key)
}
开发者ID:jkary,项目名称:core,代码行数:11,代码来源:authorizedkeys_test.go
示例13: TestListFullKeys
func (s *ListKeysSuite) TestListFullKeys(c *gc.C) {
key1 := sshtesting.ValidKeyOne.Key + " [email protected]"
key2 := sshtesting.ValidKeyTwo.Key + " [email protected]"
s.setAuthorizedKeys(c, key1, key2)
context, err := coretesting.RunCommand(c, envcmd.Wrap(&ListKeysCommand{}), "--full")
c.Assert(err, gc.IsNil)
output := strings.TrimSpace(coretesting.Stdout(context))
c.Assert(err, gc.IsNil)
c.Assert(output, gc.Matches, "Keys for user admin:\n.*[email protected]\n.*[email protected]")
}
开发者ID:jkary,项目名称:core,代码行数:11,代码来源:authorizedkeys_test.go
示例14: TestSingleResponse
func (s *RunSuite) TestSingleResponse(c *gc.C) {
mock := s.setupMockAPI()
mock.setMachinesAlive("0")
mockResponse := mockResponse{
stdout: "stdout\n",
stderr: "stderr\n",
code: 42,
machineId: "0",
}
mock.setResponse("0", mockResponse)
unformatted := ConvertRunResults([]params.RunResult{
makeRunResult(mockResponse)})
yamlFormatted, err := cmd.FormatYaml(unformatted)
c.Assert(err, gc.IsNil)
jsonFormatted, err := cmd.FormatJson(unformatted)
c.Assert(err, gc.IsNil)
for i, test := range []struct {
message string
format string
stdout string
stderr string
errorMatch string
}{{
message: "smart (default)",
stdout: "stdout\n",
stderr: "stderr\n",
errorMatch: "subprocess encountered error code 42",
}, {
message: "yaml output",
format: "yaml",
stdout: string(yamlFormatted) + "\n",
}, {
message: "json output",
format: "json",
stdout: string(jsonFormatted) + "\n",
}} {
c.Log(fmt.Sprintf("%v: %s", i, test.message))
args := []string{}
if test.format != "" {
args = append(args, "--format", test.format)
}
args = append(args, "--all", "ignored")
context, err := testing.RunCommand(c, envcmd.Wrap(&RunCommand{}), args...)
if test.errorMatch != "" {
c.Check(err, gc.ErrorMatches, test.errorMatch)
} else {
c.Check(err, gc.IsNil)
}
c.Check(testing.Stdout(context), gc.Equals, test.stdout)
c.Check(testing.Stderr(context), gc.Equals, test.stderr)
}
}
开发者ID:jkary,项目名称:core,代码行数:53,代码来源:run_test.go
示例15: TestValidateConstraintsCalledWithoutMetadatasource
func (s *BootstrapSuite) TestValidateConstraintsCalledWithoutMetadatasource(c *gc.C) {
validateCalled := 0
s.PatchValue(&validateConstraints, func(cons constraints.Value, env environs.Environ) error {
c.Assert(cons, gc.DeepEquals, constraints.MustParse("mem=4G"))
validateCalled++
return nil
})
resetJujuHome(c)
_, err := coretesting.RunCommand(
c, envcmd.Wrap(&BootstrapCommand{}), "--constraints", "mem=4G")
c.Assert(err, gc.IsNil)
c.Assert(validateCalled, gc.Equals, 1)
}
开发者ID:jkary,项目名称:core,代码行数:13,代码来源:bootstrap_test.go
示例16: checkSeriesArg
func (s *BootstrapSuite) checkSeriesArg(c *gc.C, argVariant string) *cmd.Context {
_bootstrap := &fakeBootstrapFuncs{}
s.PatchValue(&getBootstrapFuncs, func() BootstrapInterface {
return _bootstrap
})
resetJujuHome(c)
ctx, err := coretesting.RunCommand(c, envcmd.Wrap(&BootstrapCommand{}), "--upload-tools", argVariant, "foo,bar")
c.Assert(err, gc.IsNil)
c.Check(_bootstrap.uploadToolsSeries, gc.DeepEquals, []string{"foo", "bar"})
return ctx
}
开发者ID:jkary,项目名称:core,代码行数:13,代码来源:bootstrap_test.go
示例17: TestRun
func (s *DeleteCharmSuite) TestRun(c *gc.C) {
// Derive config file from test mongo port
confDir := c.MkDir()
f, err := os.Create(path.Join(confDir, "charmd.conf"))
c.Assert(err, gc.IsNil)
configPath := f.Name()
{
defer f.Close()
fmt.Fprintf(f, "mongo-url: %s\n", testing.MgoServer.Addr())
}
// Delete charm that does not exist, not found error.
config := &DeleteCharmCommand{}
out, err := testing.RunCommand(c, config, "--config", configPath, "--url", "cs:unreleased/foo")
fmt.Println(out)
c.Assert(err, gc.NotNil)
// Publish that charm now
url := charm.MustParseURL("cs:unreleased/foo")
{
s, err := store.Open(testing.MgoServer.Addr())
defer s.Close()
c.Assert(err, gc.IsNil)
pub, err := s.CharmPublisher([]*charm.URL{url}, "such-digest-much-unique")
c.Assert(err, gc.IsNil)
err = pub.Publish(testing.Charms.ClonedDir(c.MkDir(), "dummy"))
c.Assert(err, gc.IsNil)
}
// Delete charm, should now succeed
_, err = testing.RunCommand(c, config, "--config", configPath, "--url", "cs:unreleased/foo")
c.Assert(err, gc.IsNil)
c.Assert(config.Config, gc.NotNil)
// Confirm that the charm is gone
{
s, err := store.Open(testing.MgoServer.Addr())
defer s.Close()
c.Assert(err, gc.IsNil)
_, err = s.CharmInfo(url)
c.Assert(err, gc.NotNil)
}
}
开发者ID:jkary,项目名称:core,代码行数:39,代码来源:deletecharm_test.go
示例18: TestDeleteKeyNonDefaultUser
func (s *DeleteKeySuite) TestDeleteKeyNonDefaultUser(c *gc.C) {
key1 := sshtesting.ValidKeyOne.Key + " [email protected]"
key2 := sshtesting.ValidKeyTwo.Key + " [email protected]"
s.setAuthorizedKeys(c, key1, key2)
_, err := s.State.AddUser("fred", "password")
c.Assert(err, gc.IsNil)
context, err := coretesting.RunCommand(c, envcmd.Wrap(&DeleteKeysCommand{}),
"--user", "fred", sshtesting.ValidKeyTwo.Fingerprint)
c.Assert(err, gc.IsNil)
c.Assert(coretesting.Stderr(context), gc.Equals, "")
s.assertEnvironKeys(c, key1)
}
开发者ID:jkary,项目名称:core,代码行数:13,代码来源:authorizedkeys_test.go
示例19: TestListKeysNonDefaultUser
func (s *ListKeysSuite) TestListKeysNonDefaultUser(c *gc.C) {
key1 := sshtesting.ValidKeyOne.Key + " [email protected]"
key2 := sshtesting.ValidKeyTwo.Key + " [email protected]"
s.setAuthorizedKeys(c, key1, key2)
_, err := s.State.AddUser("fred", "password")
c.Assert(err, gc.IsNil)
context, err := coretesting.RunCommand(c, envcmd.Wrap(&ListKeysCommand{}), "--user", "fred")
c.Assert(err, gc.IsNil)
output := strings.TrimSpace(coretesting.Stdout(context))
c.Assert(err, gc.IsNil)
c.Assert(output, gc.Matches, "Keys for user fred:\n.*\\([email protected]\\)\n.*\\([email protected]\\)")
}
开发者ID:jkary,项目名称:core,代码行数:13,代码来源:authorizedkeys_test.go
示例20: TestAutoSyncLocalSource
func (s *BootstrapSuite) TestAutoSyncLocalSource(c *gc.C) {
sourceDir := createToolsSource(c, vAll)
s.PatchValue(&version.Current.Number, version.MustParse("1.2.0"))
env := resetJujuHome(c)
// Bootstrap the environment with the valid source.
// The bootstrapping has to show no error, because the tools
// are automatically synchronized.
_, err := coretesting.RunCommand(c, envcmd.Wrap(&BootstrapCommand{}), "--metadata-source", sourceDir)
c.Assert(err, gc.IsNil)
// Now check the available tools which are the 1.2.0 envtools.
checkTools(c, env, v120All)
}
开发者ID:jkary,项目名称:core,代码行数:14,代码来源:bootstrap_test.go
注:本文中的github.com/juju/core/testing.RunCommand函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论