本文整理汇总了Golang中github.com/globocom/commandmocker.Parameters函数的典型用法代码示例。如果您正苦于以下问题:Golang Parameters函数的具体用法?Golang Parameters怎么用?Golang Parameters使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Parameters函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestRemoveUnits
func (s *S) TestRemoveUnits(c *C) {
tmpdir, err := commandmocker.Add("juju", "removed")
c.Assert(err, IsNil)
defer commandmocker.Remove(tmpdir)
app := NewFakeApp("xanadu", "rush", 4)
p := JujuProvisioner{}
units, err := p.RemoveUnits(app, 3)
c.Assert(err, IsNil)
expected := []string{
"remove-unit", "xanadu/0", "xanadu/1", "xanadu/2",
"terminate-machine", "1",
"terminate-machine", "2",
"terminate-machine", "3",
}
ran := make(chan bool, 1)
go func() {
for {
if reflect.DeepEqual(commandmocker.Parameters(tmpdir), expected) {
ran <- true
}
}
}()
select {
case <-ran:
case <-time.After(2e9):
params := commandmocker.Parameters(tmpdir)
c.Fatalf("Did not run terminate-machine commands after 2 seconds. Parameters: %#v", params)
}
c.Assert(units, DeepEquals, []int{0, 1, 2})
}
示例2: TestDestroy
func (s *S) TestDestroy(c *C) {
tmpdir, err := commandmocker.Add("juju", "$*")
c.Assert(err, IsNil)
defer commandmocker.Remove(tmpdir)
app := NewFakeApp("cribcaged", "python", 3)
p := JujuProvisioner{}
err = p.Destroy(app)
c.Assert(err, IsNil)
c.Assert(commandmocker.Ran(tmpdir), Equals, true)
expected := []string{
"destroy-service", "cribcaged",
"terminate-machine", "1",
"terminate-machine", "2",
"terminate-machine", "3",
}
ran := make(chan bool, 1)
go func() {
for {
if reflect.DeepEqual(commandmocker.Parameters(tmpdir), expected) {
ran <- true
}
}
}()
select {
case <-ran:
case <-time.After(2e9):
c.Errorf("Did not run terminate-machine commands after 2 seconds.")
}
c.Assert(commandmocker.Parameters(tmpdir), DeepEquals, expected)
}
示例3: TestRemoveUnit
func (s *S) TestRemoveUnit(c *gocheck.C) {
tmpdir, err := commandmocker.Add("juju", "removed")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
app := testing.NewFakeApp("two", "rush", 3)
p := JujuProvisioner{}
conn, collection := p.unitsCollection()
defer conn.Close()
err = collection.Insert(instance{UnitName: "two/2", InstanceId: "i-00000439"})
c.Assert(err, gocheck.IsNil)
err = p.RemoveUnit(app, "two/2")
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
expected := []string{"remove-unit", "two/2", "terminate-machine", "3"}
ran := make(chan bool, 1)
go func() {
for {
if reflect.DeepEqual(commandmocker.Parameters(tmpdir), expected) {
ran <- true
}
time.Sleep(1e3)
}
}()
n, err := collection.Find(bson.M{"_id": "two/2"}).Count()
c.Assert(err, gocheck.IsNil)
c.Assert(n, gocheck.Equals, 0)
select {
case <-ran:
case <-time.After(2e9):
c.Errorf("Did not run terminate-machine command after 2 seconds.")
}
}
示例4: TestBootstrapProvisionHealerHeal
func (s *S) TestBootstrapProvisionHealerHeal(c *gocheck.C) {
p := JujuProvisioner{}
m := machine{
AgentState: "not-started",
IpAddress: "localhost",
InstanceId: "i-00000376",
InstanceState: "running",
}
p.saveBootstrapMachine(m)
conn, collection := p.bootstrapCollection()
defer conn.Close()
defer collection.Remove(m)
sshTmpdir, err := commandmocker.Add("ssh", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(sshTmpdir)
sshOutput := []string{
"-o",
"StrictHostKeyChecking no",
"-q",
"-l",
"ubuntu",
"localhost",
"sudo",
"start",
"juju-provision-agent",
}
h := bootstrapProvisionHealer{}
err = h.Heal()
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(sshTmpdir), gocheck.Equals, true)
c.Assert(commandmocker.Parameters(sshTmpdir), gocheck.DeepEquals, sshOutput)
}
示例5: TestDestroy
func (s *S) TestDestroy(c *gocheck.C) {
tmpdir, err := commandmocker.Add("juju", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
app := testing.NewFakeApp("cribcaged", "python", 3)
p := JujuProvisioner{}
conn, collection := p.unitsCollection()
defer conn.Close()
err = collection.Insert(
instance{UnitName: "cribcaged/0"},
instance{UnitName: "cribcaged/1"},
instance{UnitName: "cribcaged/2"},
)
c.Assert(err, gocheck.IsNil)
err = p.Destroy(app)
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
expected := []string{
"destroy-service", "cribcaged",
"terminate-machine", "1",
"terminate-machine", "2",
"terminate-machine", "3",
}
ran := make(chan bool, 1)
go func() {
for {
if reflect.DeepEqual(commandmocker.Parameters(tmpdir), expected) {
ran <- true
}
time.Sleep(1e3)
}
}()
n, err := collection.Find(bson.M{
"_id": bson.M{
"$in": []string{"cribcaged/0", "cribcaged/1", "cribcaged/2"},
},
}).Count()
c.Assert(err, gocheck.IsNil)
c.Assert(n, gocheck.Equals, 0)
select {
case <-ran:
case <-time.After(2e9):
c.Errorf("Did not run terminate-machine commands after 2 seconds.")
}
c.Assert(commandmocker.Parameters(tmpdir), gocheck.DeepEquals, expected)
}
示例6: TestProvisionSetup
func (s *S) TestProvisionSetup(c *gocheck.C) {
tmpdir, err := commandmocker.Add("scp", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
sshTempDir, err := commandmocker.Add("ssh", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(sshTempDir)
p := LocalProvisioner{}
formulasPath := "/home/ubuntu/formulas"
config.Set("local:formulas-path", formulasPath)
err = p.setup("10.10.10.10", "static")
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
cmds := []string{
"-q",
"-o",
"StrictHostKeyChecking no",
"-r",
formulasPath + "/static/hooks",
"[email protected]:/var/lib/tsuru",
}
c.Assert(commandmocker.Parameters(tmpdir), gocheck.DeepEquals, cmds)
c.Assert(commandmocker.Ran(sshTempDir), gocheck.Equals, true)
cmds = []string{
"-q",
"-o",
"StrictHostKeyChecking no",
"-l",
"ubuntu",
"10.10.10.10",
"sudo mkdir -p /var/lib/tsuru/hooks",
"-q",
"-o",
"StrictHostKeyChecking no",
"-l",
"ubuntu",
"10.10.10.10",
"sudo chown -R ubuntu /var/lib/tsuru/hooks",
}
c.Assert(commandmocker.Parameters(sshTempDir), gocheck.DeepEquals, cmds)
}
示例7: TestExecuteWithoutArgs
func (s *S) TestExecuteWithoutArgs(c *gocheck.C) {
tmpdir, err := commandmocker.Add("ls", "ok")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
var e OsExecutor
var b bytes.Buffer
err = e.Execute("ls", nil, nil, &b, &b)
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
c.Assert(commandmocker.Parameters(tmpdir), gocheck.IsNil)
c.Assert(b.String(), gocheck.Equals, "ok")
}
示例8: TestExecute
func (s *S) TestExecute(c *gocheck.C) {
tmpdir, err := commandmocker.Add("ls", "ok")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
var e OsExecutor
var b bytes.Buffer
err = e.Execute("ls", []string{"-lsa"}, nil, &b, &b)
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
expected := []string{"-lsa"}
c.Assert(commandmocker.Parameters(tmpdir), gocheck.DeepEquals, expected)
c.Assert(b.String(), gocheck.Equals, "ok")
}
示例9: TestInstanceMachineHeal
func (s *S) TestInstanceMachineHeal(c *gocheck.C) {
jujuTmpdir, err := commandmocker.Add("juju", collectOutputInstanceDown)
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(jujuTmpdir)
sshTmpdir, err := commandmocker.Add("ssh", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(sshTmpdir)
jujuOutput := []string{
"status", // for juju status that gets the output
}
sshOutput := []string{
"-o",
"StrictHostKeyChecking no",
"-q",
"-l",
"ubuntu",
"10.10.10.163",
"sudo",
"stop",
"juju-machine-agent",
"-o",
"StrictHostKeyChecking no",
"-q",
"-l",
"ubuntu",
"10.10.10.163",
"sudo",
"start",
"juju-machine-agent",
}
h := instanceMachineHealer{}
err = h.Heal()
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(jujuTmpdir), gocheck.Equals, true)
c.Assert(commandmocker.Parameters(jujuTmpdir), gocheck.DeepEquals, jujuOutput)
c.Assert(commandmocker.Ran(sshTmpdir), gocheck.Equals, true)
c.Assert(commandmocker.Parameters(sshTmpdir), gocheck.DeepEquals, sshOutput)
}
示例10: TestRestart
func (s *S) TestRestart(c *gocheck.C) {
tmpdir, err := commandmocker.Add("juju", "restart")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
app := testing.NewFakeApp("cribcaged", "python", 1)
p := JujuProvisioner{}
err = p.Restart(app)
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
expected := []string{
"ssh", "-o", "StrictHostKeyChecking no", "-q", "1", "/var/lib/tsuru/hooks/restart",
}
c.Assert(commandmocker.Parameters(tmpdir), gocheck.DeepEquals, expected)
}
示例11: TestZookeeperHealerHeal
func (s *S) TestZookeeperHealerHeal(c *gocheck.C) {
ln, err := net.Listen("tcp", ":2181")
c.Assert(err, gocheck.IsNil)
defer ln.Close()
go func() {
conn, _ := ln.Accept()
fmt.Fprintln(conn, "notok")
conn.Close()
}()
p := JujuProvisioner{}
m := machine{
AgentState: "not-started",
IpAddress: "localhost",
InstanceId: "i-00000376",
InstanceState: "running",
}
p.saveBootstrapMachine(m)
conn, collection := p.bootstrapCollection()
defer conn.Close()
defer collection.Remove(m)
sshTmpdir, err := commandmocker.Add("ssh", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(sshTmpdir)
sshOutput := []string{
"-o",
"StrictHostKeyChecking no",
"-q",
"-l",
"ubuntu",
"localhost",
"sudo",
"stop",
"zookeeper",
"-o",
"StrictHostKeyChecking no",
"-q",
"-l",
"ubuntu",
"localhost",
"sudo",
"start",
"zookeeper",
}
h := zookeeperHealer{}
err = h.Heal()
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(sshTmpdir), gocheck.Equals, true)
c.Assert(commandmocker.Parameters(sshTmpdir), gocheck.DeepEquals, sshOutput)
}
示例12: TestProvisionerRestart
func (s *S) TestProvisionerRestart(c *gocheck.C) {
var p LocalProvisioner
tmpdir, err := commandmocker.Add("ssh", "ok")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
app := testing.NewFakeApp("almah", "static", 1)
err = p.Restart(app)
c.Assert(err, gocheck.IsNil)
ip := app.ProvisionUnits()[0].GetIp()
expected := []string{
"-l", "ubuntu", "-q", "-o", "StrictHostKeyChecking no", ip, "/var/lib/tsuru/hooks/restart",
}
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
c.Assert(commandmocker.Parameters(tmpdir), gocheck.DeepEquals, expected)
}
示例13: TestInstanceMachineHealWhenEverythingIsOk
func (s *S) TestInstanceMachineHealWhenEverythingIsOk(c *gocheck.C) {
fexec := &etesting.FakeExecutor{}
setExecut(fexec)
defer setExecut(nil)
jujuTmpdir, err := commandmocker.Add("juju", collectOutput)
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(jujuTmpdir)
h := instanceMachineHealer{}
err = h.Heal()
c.Assert(err, gocheck.IsNil)
args := []string{
"status", // for juju status that gets the output
}
c.Assert(commandmocker.Ran(jujuTmpdir), gocheck.Equals, true)
c.Assert(commandmocker.Parameters(jujuTmpdir), gocheck.DeepEquals, args)
}
示例14: TestDeploy
func (s *S) TestDeploy(c *gocheck.C) {
tmpdir, err := commandmocker.Add("juju", "")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
config.Set("git:unit-repo", "test/dir")
defer func() {
config.Unset("git:unit-repo")
}()
app := testing.NewFakeApp("cribcaged", "python", 1)
w := &bytes.Buffer{}
p := JujuProvisioner{}
err = p.Deploy(app, "f83ac40", w)
c.Assert(err, gocheck.IsNil)
expected := []string{"set", app.GetName(), "app-version=f83ac40"}
c.Assert(commandmocker.Parameters(tmpdir)[:3], gocheck.DeepEquals, expected)
}
示例15: TestInstanceMachineHealWhenEverythingIsOk
func (s *S) TestInstanceMachineHealWhenEverythingIsOk(c *gocheck.C) {
jujuTmpdir, err := commandmocker.Add("juju", collectOutput)
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(jujuTmpdir)
sshTmpdir, err := commandmocker.Add("ssh", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(sshTmpdir)
jujuOutput := []string{
"status", // for juju status that gets the output
}
h := instanceMachineHealer{}
err = h.Heal()
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(jujuTmpdir), gocheck.Equals, true)
c.Assert(commandmocker.Parameters(jujuTmpdir), gocheck.DeepEquals, jujuOutput)
c.Assert(commandmocker.Ran(sshTmpdir), gocheck.Equals, false)
}