本文整理汇总了Golang中github.com/globocom/tsuru/service.DeleteInstance函数的典型用法代码示例。如果您正苦于以下问题:Golang DeleteInstance函数的具体用法?Golang DeleteInstance怎么用?Golang DeleteInstance使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了DeleteInstance函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestServiceAndServiceInstancesByTeamsShouldReturnServiceInstancesByTeam
func (s *ConsumptionSuite) TestServiceAndServiceInstancesByTeamsShouldReturnServiceInstancesByTeam(c *gocheck.C) {
srv := service.Service{Name: "mongodb"}
srv.Create()
defer srv.Delete()
si := service.ServiceInstance{Name: "my_nosql", ServiceName: srv.Name, Teams: []string{s.team.Name}}
si.Create()
defer service.DeleteInstance(&si)
si2 := service.ServiceInstance{Name: "some_nosql", ServiceName: srv.Name}
si2.Create()
defer service.DeleteInstance(&si2)
obtained := serviceAndServiceInstancesByTeams(s.user)
expected := []service.ServiceModel{
{Service: "mongodb", Instances: []string{"my_nosql"}},
}
c.Assert(obtained, gocheck.DeepEquals, expected)
}
示例2: TestServiceInstanceStatusHandler
func (s *ConsumptionSuite) TestServiceInstanceStatusHandler(c *gocheck.C) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNoContent)
w.Write([]byte(`Service instance "my_nosql" is up`))
}))
defer ts.Close()
srv := service.Service{Name: "mongodb", OwnerTeams: []string{s.team.Name}, Endpoint: map[string]string{"production": ts.URL}}
err := srv.Create()
c.Assert(err, gocheck.IsNil)
defer srv.Delete()
si := service.ServiceInstance{Name: "my_nosql", ServiceName: srv.Name, Teams: []string{s.team.Name}}
err = si.Create()
c.Assert(err, gocheck.IsNil)
defer service.DeleteInstance(&si)
recorder, request := makeRequestToStatusHandler("my_nosql", c)
err = serviceInstanceStatus(recorder, request, s.token)
c.Assert(err, gocheck.IsNil)
b, err := ioutil.ReadAll(recorder.Body)
c.Assert(string(b), gocheck.Equals, "Service instance \"my_nosql\" is up")
action := testing.Action{
Action: "service-instance-status",
User: s.user.Email,
Extra: []interface{}{"my_nosql"},
}
c.Assert(action, testing.IsRecorded)
}
示例3: TestServiceInfoHandler
func (s *ConsumptionSuite) TestServiceInfoHandler(c *gocheck.C) {
srv := service.Service{Name: "mongodb", Teams: []string{s.team.Name}}
err := srv.Create()
c.Assert(err, gocheck.IsNil)
defer srv.Delete()
si1 := service.ServiceInstance{
Name: "my_nosql",
ServiceName: srv.Name,
Apps: []string{},
Teams: []string{s.team.Name},
}
err = si1.Create()
c.Assert(err, gocheck.IsNil)
defer service.DeleteInstance(&si1)
si2 := service.ServiceInstance{
Name: "your_nosql",
ServiceName: srv.Name,
Apps: []string{"wordpress"},
Teams: []string{s.team.Name},
}
err = si2.Create()
c.Assert(err, gocheck.IsNil)
defer service.DeleteInstance(&si2)
request, err := http.NewRequest("GET", "/services/mongodb?:name=mongodb", nil)
c.Assert(err, gocheck.IsNil)
recorder := httptest.NewRecorder()
err = serviceInfo(recorder, request, s.token)
c.Assert(err, gocheck.IsNil)
body, err := ioutil.ReadAll(recorder.Body)
c.Assert(err, gocheck.IsNil)
var instances []service.ServiceInstance
err = json.Unmarshal(body, &instances)
c.Assert(err, gocheck.IsNil)
expected := []service.ServiceInstance{si1, si2}
c.Assert(instances, gocheck.DeepEquals, expected)
action := testing.Action{
Action: "service-info",
User: s.user.Email,
Extra: []interface{}{"mongodb"},
}
c.Assert(action, testing.IsRecorded)
}
示例4: TestServicesAndInstancesByOwnerTeams
func (s *ProvisionSuite) TestServicesAndInstancesByOwnerTeams(c *gocheck.C) {
srvc := service.Service{Name: "mysql", OwnerTeams: []string{s.team.Name}}
err := srvc.Create()
c.Assert(err, gocheck.IsNil)
defer srvc.Delete()
srvc2 := service.Service{Name: "mongodb"}
err = srvc2.Create()
c.Assert(err, gocheck.IsNil)
defer srvc2.Delete()
sInstance := service.ServiceInstance{Name: "foo", ServiceName: "mysql"}
err = sInstance.Create()
c.Assert(err, gocheck.IsNil)
defer service.DeleteInstance(&sInstance)
sInstance2 := service.ServiceInstance{Name: "bar", ServiceName: "mongodb"}
err = sInstance2.Create()
defer service.DeleteInstance(&sInstance2)
results := servicesAndInstancesByOwner(s.user)
expected := []service.ServiceModel{
{Service: "mysql", Instances: []string{"foo"}},
}
c.Assert(results, gocheck.DeepEquals, expected)
}
示例5: TestServiceInfoHandlerShouldReturnOnlyInstancesOfTheSameTeamOfTheUser
func (s *ConsumptionSuite) TestServiceInfoHandlerShouldReturnOnlyInstancesOfTheSameTeamOfTheUser(c *gocheck.C) {
srv := service.Service{Name: "mongodb", Teams: []string{s.team.Name}}
err := srv.Create()
c.Assert(err, gocheck.IsNil)
defer srv.Delete()
si1 := service.ServiceInstance{
Name: "my_nosql",
ServiceName: srv.Name,
Apps: []string{},
Teams: []string{s.team.Name},
}
err = si1.Create()
c.Assert(err, gocheck.IsNil)
defer service.DeleteInstance(&si1)
si2 := service.ServiceInstance{
Name: "your_nosql",
ServiceName: srv.Name,
Apps: []string{"wordpress"},
Teams: []string{},
}
err = si2.Create()
c.Assert(err, gocheck.IsNil)
defer service.DeleteInstance(&si2)
request, err := http.NewRequest("GET", fmt.Sprintf("/services/%s?:name=%s", "mongodb", "mongodb"), nil)
c.Assert(err, gocheck.IsNil)
recorder := httptest.NewRecorder()
err = ServiceInfoHandler(recorder, request, s.user)
c.Assert(err, gocheck.IsNil)
body, err := ioutil.ReadAll(recorder.Body)
c.Assert(err, gocheck.IsNil)
var instances []service.ServiceInstance
err = json.Unmarshal(body, &instances)
c.Assert(err, gocheck.IsNil)
expected := []service.ServiceInstance{si1}
c.Assert(instances, gocheck.DeepEquals, expected)
}
示例6: TestServiceInstanceStatusHandlerShouldReturnForbiddenWhenUserDontHaveAccess
func (s *ConsumptionSuite) TestServiceInstanceStatusHandlerShouldReturnForbiddenWhenUserDontHaveAccess(c *gocheck.C) {
srv := service.Service{Name: "mongodb", OwnerTeams: []string{s.team.Name}}
err := srv.Create()
c.Assert(err, gocheck.IsNil)
defer srv.Delete()
si := service.ServiceInstance{Name: "my_nosql", ServiceName: srv.Name}
err = si.Create()
c.Assert(err, gocheck.IsNil)
defer service.DeleteInstance(&si)
recorder, request := makeRequestToStatusHandler("my_nosql", c)
err = serviceInstanceStatus(recorder, request, s.token)
c.Assert(err, gocheck.NotNil)
e, ok := err.(*errors.Http)
c.Assert(ok, gocheck.Equals, true)
c.Assert(e.Code, gocheck.Equals, http.StatusForbidden)
}
示例7: RemoveServiceInstanceHandler
func RemoveServiceInstanceHandler(w http.ResponseWriter, r *http.Request, u *auth.User) error {
name := r.URL.Query().Get(":name")
si, err := getServiceInstanceOrError(name, u)
if err != nil {
return err
}
if len(si.Apps) > 0 {
msg := "This service instance is bound to at least one app. Unbind them before removing it"
return &errors.Http{Code: http.StatusInternalServerError, Message: msg}
}
err = service.DeleteInstance(&si)
if err != nil {
return err
}
w.Write([]byte("service instance successfuly removed"))
return nil
}
示例8: RemoveServiceInstanceHandler
func RemoveServiceInstanceHandler(w http.ResponseWriter, r *http.Request, t *auth.Token) error {
u, err := t.User()
if err != nil {
return err
}
name := r.URL.Query().Get(":name")
si, err := getServiceInstanceOrError(name, u)
if err != nil {
return err
}
err = service.DeleteInstance(&si)
if err != nil {
return err
}
w.Write([]byte("service instance successfuly removed"))
return nil
}
示例9: TestServicesHandlerShoudGetAllServicesFromUsersTeam
func (s *ProvisionSuite) TestServicesHandlerShoudGetAllServicesFromUsersTeam(c *gocheck.C) {
srv := service.Service{Name: "mongodb", OwnerTeams: []string{s.team.Name}}
srv.Create()
defer s.conn.Services().Remove(bson.M{"_id": srv.Name})
si := service.ServiceInstance{Name: "my_nosql", ServiceName: srv.Name, Teams: []string{s.team.Name}}
si.Create()
defer service.DeleteInstance(&si)
recorder, request := s.makeRequestToServicesHandler(c)
err := ServicesHandler(recorder, request, s.token)
c.Assert(err, gocheck.IsNil)
b, err := ioutil.ReadAll(recorder.Body)
c.Assert(err, gocheck.IsNil)
services := make([]service.ServiceModel, 1)
err = json.Unmarshal(b, &services)
expected := []service.ServiceModel{
{Service: "mongodb", Instances: []string{"my_nosql"}},
}
c.Assert(services, gocheck.DeepEquals, expected)
}
示例10: TestDeleteHandlerReturns403WhenTheServiceHasInstance
func (s *ProvisionSuite) TestDeleteHandlerReturns403WhenTheServiceHasInstance(c *gocheck.C) {
se := service.Service{Name: "mysql", OwnerTeams: []string{s.team.Name}}
err := se.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": se.Name})
instance := service.ServiceInstance{Name: "my-mysql", ServiceName: se.Name}
err = instance.Create()
c.Assert(err, gocheck.IsNil)
defer service.DeleteInstance(&instance)
request, err := http.NewRequest("DELETE", fmt.Sprintf("/services/%s?:name=%s", se.Name, se.Name), nil)
c.Assert(err, gocheck.IsNil)
recorder := httptest.NewRecorder()
err = DeleteHandler(recorder, request, s.token)
c.Assert(err, gocheck.NotNil)
e, ok := err.(*errors.Http)
c.Assert(ok, gocheck.Equals, true)
c.Assert(e.Code, gocheck.Equals, http.StatusForbidden)
c.Assert(e, gocheck.ErrorMatches, "^This service cannot be removed because it has instances.\nPlease remove these instances before removing the service.$")
}