本文整理汇总了Golang中github.com/tsuru/commandmocker.Add函数的典型用法代码示例。如果您正苦于以下问题:Golang Add函数的具体用法?Golang Add怎么用?Golang Add使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Add函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestCollectStatusIDChangeFromPending
func (s *S) TestCollectStatusIDChangeFromPending(c *gocheck.C) {
server, url := badGatewayServer()
defer server.Close()
tmpdir, err := commandmocker.Add("juju", generateOutput(url))
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
p := JujuProvisioner{}
collection := p.unitsCollection()
defer collection.Close()
err = collection.Insert(instance{UnitName: "as_i_rise/0", InstanceID: "pending"})
c.Assert(err, gocheck.IsNil)
defer collection.Remove(bson.M{"_id": bson.M{"$in": []string{"as_i_rise/0", "the_infanta/0"}}})
_, err = p.CollectStatus()
c.Assert(err, gocheck.IsNil)
done := make(chan int8)
go func() {
for {
q := bson.M{"_id": "as_i_rise/0", "instanceid": "i-00000439"}
ct, err := collection.Find(q).Count()
c.Assert(err, gocheck.IsNil)
if ct == 1 {
done <- 1
return
}
runtime.Gosched()
}
}()
select {
case <-done:
case <-time.After(5e9):
c.Fatal("Did not update the unit after 5 seconds.")
}
}
开发者ID:rochacon,项目名称:tsuru,代码行数:33,代码来源:collector_test.go
示例2: TestHandleMessageWithUnits
func (s *ELBSuite) TestHandleMessageWithUnits(c *gocheck.C) {
id1 := s.server.NewInstance()
id2 := s.server.NewInstance()
defer s.server.RemoveInstance(id1)
defer s.server.RemoveInstance(id2)
app := testing.NewFakeApp("symfonia", "python", 1)
router, err := Router()
c.Assert(err, gocheck.IsNil)
router.AddBackend(app.GetName())
c.Assert(err, gocheck.IsNil)
defer router.RemoveBackend(app.GetName())
output := strings.Replace(simpleCollectOutput, "i-00004444", id1, -1)
output = strings.Replace(output, "i-00004445", id2, -1)
tmpdir, err := commandmocker.Add("juju", output)
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
msg := queue.Message{
Action: addUnitToLoadBalancer,
Args: []string{"symfonia", "symfonia/0", "symfonia/1"},
}
handle(&msg)
resp, err := s.client.DescribeLoadBalancers(app.GetName())
c.Assert(err, gocheck.IsNil)
c.Assert(resp.LoadBalancerDescriptions, gocheck.HasLen, 1)
instances := resp.LoadBalancerDescriptions[0].Instances
c.Assert(instances, gocheck.HasLen, 2)
ids := []string{instances[0].InstanceId, instances[1].InstanceId}
sort.Strings(ids)
want := []string{id1, id2}
sort.Strings(want)
c.Assert(ids, gocheck.DeepEquals, want)
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
}
开发者ID:rochacon,项目名称:tsuru,代码行数:33,代码来源:queue_test.go
示例3: TestReadMessageWithTerminateJSON
func (s *S) TestReadMessageWithTerminateJSON(c *check.C) {
cmd, err := commandmocker.Add("sudo", "service nginx reload")
c.Assert(err, check.IsNil)
defer commandmocker.Remove(cmd)
// Setup instance file
u := Config.Upstreams[0]
instance := &ec2.Instance{InstanceId: s.instance_ids[0], PrivateDNSName: "test.internal"}
if err := addInstance(u, instance); err != nil {
c.Error(err)
}
payload := `{"TopicArn":"arn:test","Message":
"{\"AutoScalingGroupARN\":\"arn:asg-test\",\"Event\":\"autoscaling:EC2_INSTANCE_TERMINATE\",\"EC2InstanceId\":\"%s\"}"}`
b := strings.NewReader(fmt.Sprintf(payload, s.instance_ids[0]))
recorder, request := newRequest("POST", "/", b, c)
readMessage(recorder, request)
body := readBody(recorder.Body, c)
c.Assert(body, check.Equals, fmt.Sprintf(`Removed instance "%s".`, s.instance_ids[0]))
c.Assert(recorder.Code, check.Equals, 200)
// Check upstreams file
content, err := ioutil.ReadFile(u.File)
c.Assert(err, check.IsNil)
c.Assert(string(content), check.Equals, fmt.Sprintf("upstream %s {\n}\n", u.Name))
// Check run NGINX reload
c.Assert(commandmocker.Ran(cmd), check.Equals, true)
}
开发者ID:rochacon,项目名称:elastic-nginx,代码行数:29,代码来源:elnginx_test.go
示例4: TestHandleMessageWithoutUnits
func (s *ELBSuite) TestHandleMessageWithoutUnits(c *gocheck.C) {
instIds := make([]string, 3)
for i := 0; i < len(instIds); i++ {
id := s.server.NewInstance()
defer s.server.RemoveInstance(id)
instIds[i] = id
}
replace := []string{"i-00004444", "i-00004445", "i-00004450"}
output := simpleCollectOutput
for i, r := range replace {
output = strings.Replace(output, r, instIds[i], 1)
}
tmpdir, err := commandmocker.Add("juju", output)
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
app := testing.NewFakeApp("symfonia", "python", 1)
router, err := Router()
c.Assert(err, gocheck.IsNil)
err = router.AddBackend(app.GetName())
c.Assert(err, gocheck.IsNil)
defer router.RemoveBackend(app.GetName())
handle(&queue.Message{
Action: addUnitToLoadBalancer,
Args: []string{"symfonia"},
})
resp, err := s.client.DescribeLoadBalancers(app.GetName())
c.Assert(err, gocheck.IsNil)
c.Assert(resp.LoadBalancerDescriptions, gocheck.HasLen, 1)
instances := resp.LoadBalancerDescriptions[0].Instances
c.Assert(instances, gocheck.HasLen, 3)
ids := []string{instances[0].InstanceId, instances[1].InstanceId, instances[2].InstanceId}
sort.Strings(ids)
sort.Strings(instIds)
c.Assert(ids, gocheck.DeepEquals, instIds)
}
开发者ID:rochacon,项目名称:tsuru,代码行数:35,代码来源:queue_test.go
示例5: TestReadMessageWithLaunchJSON
func (s *S) TestReadMessageWithLaunchJSON(c *check.C) {
cmd, err := commandmocker.Add("sudo", "service nginx reload")
c.Assert(err, check.IsNil)
defer commandmocker.Remove(cmd)
payload := `{"TopicArn":"arn:test","Message":` +
`"{\"AutoScalingGroupARN\":\"arn:asg-test\",\"Event\":\"autoscaling:EC2_INSTANCE_LAUNCH\",` +
`\"EC2InstanceId\":\"%s\"}"}`
b := strings.NewReader(fmt.Sprintf(payload, s.instance_ids[0]))
recorder, request := newRequest("POST", "/", b, c)
readMessage(recorder, request)
body := readBody(recorder.Body, c)
c.Assert(body, check.Equals, fmt.Sprintf(`Added instance "%s".`, s.instance_ids[0]))
c.Assert(recorder.Code, check.Equals, 200)
// Check upstreams file
upstream := Config.Upstreams[0]
content, err := ioutil.ReadFile(upstream.File)
c.Assert(err, check.IsNil)
serverLine := fmt.Sprintf("server %s.internal.invalid:80 max_fails=3 fail_timeout=60s; # %s\n", s.instance_ids[0], s.instance_ids[0])
c.Assert(string(content), check.Equals, fmt.Sprintf("upstream %s {\n %s}\n", upstream.Name, serverLine))
// Check run NGINX reload
c.Assert(commandmocker.Ran(cmd), check.Equals, true)
}
开发者ID:rochacon,项目名称:elastic-nginx,代码行数:25,代码来源:elnginx_test.go
示例6: TestBootstrapMachineHealerDontNeedsHeal
func (s *S) TestBootstrapMachineHealerDontNeedsHeal(c *gocheck.C) {
tmpdir, err := commandmocker.Add("juju", collectOutput)
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
h := bootstrapMachineHealer{}
c.Assert(h.needsHeal(), gocheck.Equals, false)
}
开发者ID:rochacon,项目名称:tsuru,代码行数:7,代码来源:healer_test.go
示例7: TestGrantAccessShouldAddUserToListOfRepositories
func (s *S) TestGrantAccessShouldAddUserToListOfRepositories(c *gocheck.C) {
tmpdir, err := commandmocker.Add("git", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
r, err := New("proj1", []string{"someuser"}, true)
c.Assert(err, gocheck.IsNil)
conn, err := db.Conn()
c.Assert(err, gocheck.IsNil)
defer conn.Close()
defer conn.Repository().RemoveId(r.Name)
r2, err := New("proj2", []string{"otheruser"}, true)
c.Assert(err, gocheck.IsNil)
defer conn.Repository().RemoveId(r2.Name)
u := struct {
Name string `bson:"_id"`
}{Name: "lolcat"}
err = conn.User().Insert(&u)
c.Assert(err, gocheck.IsNil)
defer conn.User().RemoveId(u.Name)
err = GrantAccess([]string{r.Name, r2.Name}, []string{u.Name})
c.Assert(err, gocheck.IsNil)
err = conn.Repository().FindId(r.Name).One(&r)
c.Assert(err, gocheck.IsNil)
err = conn.Repository().FindId(r2.Name).One(&r2)
c.Assert(err, gocheck.IsNil)
c.Assert(r.Users, gocheck.DeepEquals, []string{"someuser", u.Name})
c.Assert(r2.Users, gocheck.DeepEquals, []string{"otheruser", u.Name})
}
开发者ID:kenpu,项目名称:gandalf,代码行数:28,代码来源:repository_test.go
示例8: TestHandleMessagesWithPendingUnits
func (s *ELBSuite) TestHandleMessagesWithPendingUnits(c *gocheck.C) {
id := s.server.NewInstance()
defer s.server.RemoveInstance(id)
app := testing.NewFakeApp("2112", "python", 1)
router, err := Router()
c.Assert(err, gocheck.IsNil)
err = router.AddBackend(app.GetName())
defer router.RemoveBackend(app.GetName())
output := strings.Replace(collectOutputNoInstanceID, "i-00004444", id, 1)
tmpdir, err := commandmocker.Add("juju", output)
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
handle(&queue.Message{
Action: addUnitToLoadBalancer,
Args: []string{"2112", "2112/0", "2112/1"},
})
resp, err := s.client.DescribeLoadBalancers(app.GetName())
c.Assert(err, gocheck.IsNil)
c.Assert(resp.LoadBalancerDescriptions, gocheck.HasLen, 1)
instances := resp.LoadBalancerDescriptions[0].Instances
c.Assert(instances, gocheck.HasLen, 1)
c.Assert(instances[0].InstanceId, gocheck.Equals, id)
msg, err := getQueue(queueName).Get(5e9)
c.Assert(err, gocheck.IsNil)
c.Assert(msg.Action, gocheck.Equals, addUnitToLoadBalancer)
c.Assert(msg.Args, gocheck.DeepEquals, []string{"2112", "2112/1"})
}
开发者ID:rochacon,项目名称:tsuru,代码行数:27,代码来源:queue_test.go
示例9: SetUpSuite
func (s *S) SetUpSuite(c *gocheck.C) {
err := config.ReadConfigFile("../etc/gandalf.conf")
c.Assert(err, gocheck.IsNil)
config.Set("database:url", "127.0.0.1:27017")
config.Set("database:name", "gandalf_api_tests")
s.tmpdir, err = commandmocker.Add("git", "")
c.Assert(err, gocheck.IsNil)
}
开发者ID:heynemann,项目名称:gandalf,代码行数:8,代码来源:utils_test.go
示例10: TestNewBareShouldCreateADir
func (s *S) TestNewBareShouldCreateADir(c *gocheck.C) {
dir, err := commandmocker.Add("git", "$*")
c.Check(err, gocheck.IsNil)
defer commandmocker.Remove(dir)
err = newBare("myBare")
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(dir), gocheck.Equals, true)
}
开发者ID:rfloriano,项目名称:gandalf,代码行数:8,代码来源:git_test.go
示例11: TestCollectStatusWithELBAndIDChange
func (s *ELBSuite) TestCollectStatusWithELBAndIDChange(c *gocheck.C) {
a := testing.NewFakeApp("symfonia", "symfonia", 0)
p := JujuProvisioner{}
router, err := Router()
c.Assert(err, gocheck.IsNil)
err = router.AddBackend(a.GetName())
c.Assert(err, gocheck.IsNil)
defer router.RemoveBackend(a.GetName())
id1 := s.server.NewInstance()
defer s.server.RemoveInstance(id1)
id2 := s.server.NewInstance()
defer s.server.RemoveInstance(id2)
id3 := s.server.NewInstance()
defer s.server.RemoveInstance(id3)
collection := p.unitsCollection()
defer collection.Close()
err = collection.Insert(instance{UnitName: "symfonia/0", InstanceID: id3})
c.Assert(err, gocheck.IsNil)
err = router.AddRoute(a.GetName(), id3)
c.Assert(err, gocheck.IsNil)
err = router.AddRoute(a.GetName(), id2)
c.Assert(err, gocheck.IsNil)
q := bson.M{"_id": bson.M{"$in": []string{"symfonia/0", "symfonia/1", "symfonia/2", "raise/0"}}}
defer collection.Remove(q)
output := strings.Replace(simpleCollectOutput, "i-00004444", id1, 1)
output = strings.Replace(output, "i-00004445", id2, 1)
tmpdir, err := commandmocker.Add("juju", output)
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
_, err = p.CollectStatus()
c.Assert(err, gocheck.IsNil)
done := make(chan int8)
go func() {
for {
q := bson.M{"_id": "symfonia/0", "instanceid": id1}
ct, err := collection.Find(q).Count()
c.Assert(err, gocheck.IsNil)
if ct == 1 {
done <- 1
return
}
runtime.Gosched()
}
}()
select {
case <-done:
case <-time.After(5e9):
c.Fatal("Did not save the unit after 5 seconds.")
}
resp, err := s.client.DescribeLoadBalancers(a.GetName())
c.Assert(err, gocheck.IsNil)
c.Assert(resp.LoadBalancerDescriptions, gocheck.HasLen, 1)
instances := resp.LoadBalancerDescriptions[0].Instances
c.Assert(instances, gocheck.HasLen, 2)
c.Assert(instances[0].InstanceId, gocheck.Equals, id2)
c.Assert(instances[1].InstanceId, gocheck.Equals, id1)
}
开发者ID:rochacon,项目名称:tsuru,代码行数:57,代码来源:collector_test.go
示例12: TestCollectStatusInvalidYAML
func (s *S) TestCollectStatusInvalidYAML(c *gocheck.C) {
tmpdir, err := commandmocker.Add("juju", "local: somewhere::")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
p := JujuProvisioner{}
_, err = p.CollectStatus()
c.Assert(err, gocheck.NotNil)
pErr, ok := err.(*provision.Error)
c.Assert(ok, gocheck.Equals, true)
c.Assert(pErr.Reason, gocheck.Equals, `"juju status" returned invalid data: local: somewhere::`)
c.Assert(pErr.Err, gocheck.ErrorMatches, `^YAML error:.*$`)
}
开发者ID:rochacon,项目名称:tsuru,代码行数:12,代码来源:collector_test.go
示例13: 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")
}
开发者ID:ningjh,项目名称:tsuru,代码行数:12,代码来源:exec_test.go
示例14: TestCollectStatusDirtyOutput
func (s *S) TestCollectStatusDirtyOutput(c *gocheck.C) {
server, url := badGatewayServer()
defer server.Close()
tmpdir, err := commandmocker.Add("juju", generateDirtyOutput(url))
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
expected := []provision.Unit{
{
Name: "as_i_rise/0",
AppName: "as_i_rise",
Type: "django",
Machine: 105,
InstanceId: "i-00000439",
Ip: url,
Status: provision.StatusUnreachable,
},
{
Name: "the_infanta/1",
AppName: "the_infanta",
Type: "gunicorn",
Machine: 107,
InstanceId: "i-0000043e",
Ip: url,
Status: provision.StatusBuilding,
},
}
p := JujuProvisioner{}
units, err := p.CollectStatus()
c.Assert(err, gocheck.IsNil)
cp := make([]provision.Unit, len(units))
copy(cp, units)
if cp[0].Type == "gunicorn" {
cp[0], cp[1] = cp[1], cp[0]
}
c.Assert(cp, gocheck.DeepEquals, expected)
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
var wg sync.WaitGroup
wg.Add(1)
collection := p.unitsCollection()
defer collection.Close()
go func() {
q := bson.M{"_id": bson.M{"$in": []string{"as_i_rise/0", "the_infanta/1"}}}
for {
if n, _ := collection.Find(q).Count(); n == 2 {
break
}
runtime.Gosched()
}
collection.Remove(q)
wg.Done()
}()
wg.Wait()
}
开发者ID:rochacon,项目名称:tsuru,代码行数:53,代码来源:collector_test.go
示例15: TestNewShouldCreateNewGitBareRepository
func (s *S) TestNewShouldCreateNewGitBareRepository(c *gocheck.C) {
tmpdir, err := commandmocker.Add("git", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
_, err = New("myRepo", []string{"pumpkin"}, true)
c.Assert(err, gocheck.IsNil)
conn, err := db.Conn()
c.Assert(err, gocheck.IsNil)
defer conn.Close()
defer conn.Repository().Remove(bson.M{"_id": "myRepo"})
c.Assert(commandmocker.Ran(tmpdir), gocheck.Equals, true)
}
开发者ID:kenpu,项目名称:gandalf,代码行数:12,代码来源:repository_test.go
示例16: TestConflictingRepositoryNameShouldReturnExplicitError
func (s *S) TestConflictingRepositoryNameShouldReturnExplicitError(c *gocheck.C) {
tmpdir, err := commandmocker.Add("git", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
_, err = New("someRepo", []string{"gollum"}, true)
conn, err := db.Conn()
c.Assert(err, gocheck.IsNil)
defer conn.Close()
defer conn.Repository().Remove(bson.M{"_id": "someRepo"})
c.Assert(err, gocheck.IsNil)
_, err = New("someRepo", []string{"gollum"}, true)
c.Assert(err, gocheck.ErrorMatches, "A repository with this name already exists.")
}
开发者ID:kenpu,项目名称:gandalf,代码行数:13,代码来源:repository_test.go
示例17: 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")
}
开发者ID:ningjh,项目名称:tsuru,代码行数:13,代码来源:exec_test.go
示例18: TestNewBareShouldNotPassTemplateOptionWhenItsNotSetInConfig
func (s *S) TestNewBareShouldNotPassTemplateOptionWhenItsNotSetInConfig(c *gocheck.C) {
config.Unset("git:bare:template")
bareLocation, err := config.GetString("git:bare:location")
c.Assert(err, gocheck.IsNil)
barePath := path.Join(bareLocation, "foo.git")
dir, err := commandmocker.Add("git", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(dir)
err = newBare("foo")
c.Assert(err, gocheck.IsNil)
c.Assert(commandmocker.Ran(dir), gocheck.Equals, true)
expected := fmt.Sprintf("init %s --bare", barePath)
c.Assert(commandmocker.Output(dir), gocheck.Equals, expected)
}
开发者ID:rfloriano,项目名称:gandalf,代码行数:14,代码来源:git_test.go
示例19: TestRemoveShouldRemoveBareRepositoryFromFileSystem
func (s *S) TestRemoveShouldRemoveBareRepositoryFromFileSystem(c *gocheck.C) {
tmpdir, err := commandmocker.Add("git", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
rfs := &fstesting.RecordingFs{FileContent: "foo"}
fs.Fsystem = rfs
defer func() { fs.Fsystem = nil }()
r, err := New("myRepo", []string{"pumpkin"}, false)
c.Assert(err, gocheck.IsNil)
err = Remove(r.Name)
c.Assert(err, gocheck.IsNil)
action := "removeall " + path.Join(bareLocation(), "myRepo.git")
c.Assert(rfs.HasAction(action), gocheck.Equals, true)
}
开发者ID:kenpu,项目名称:gandalf,代码行数:14,代码来源:repository_test.go
示例20: TestNewShouldCreateANewRepository
func (s *S) TestNewShouldCreateANewRepository(c *gocheck.C) {
tmpdir, err := commandmocker.Add("git", "$*")
c.Assert(err, gocheck.IsNil)
defer commandmocker.Remove(tmpdir)
users := []string{"smeagol", "saruman"}
r, err := New("myRepo", users, false)
c.Assert(err, gocheck.IsNil)
conn, err := db.Conn()
c.Assert(err, gocheck.IsNil)
defer conn.Close()
defer conn.Repository().Remove(bson.M{"_id": "myRepo"})
c.Assert(r.Name, gocheck.Equals, "myRepo")
c.Assert(r.Users, gocheck.DeepEquals, users)
c.Assert(r.IsPublic, gocheck.Equals, false)
}
开发者ID:kenpu,项目名称:gandalf,代码行数:15,代码来源:repository_test.go
注:本文中的github.com/tsuru/commandmocker.Add函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论