本文整理汇总了Golang中github.com/globocom/tsuru/service.ServiceInstance类的典型用法代码示例。如果您正苦于以下问题:Golang ServiceInstance类的具体用法?Golang ServiceInstance怎么用?Golang ServiceInstance使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ServiceInstance类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestRemoveUnits
func (s *S) TestRemoveUnits(c *gocheck.C) {
var calls int32
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
v := atomic.LoadInt32(&calls)
atomic.StoreInt32(&calls, v+1)
w.WriteHeader(http.StatusNoContent)
}))
srvc := service.Service{Name: "mysql", Endpoint: map[string]string{"production": ts.URL}}
err := srvc.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": "mysql"})
app := App{
Name: "chemistry",
Framework: "python",
}
instance := service.ServiceInstance{
Name: "my-inst",
ServiceName: "mysql",
Teams: []string{s.team.Name},
Apps: []string{app.Name},
}
instance.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"name": "my-inst"})
err = s.conn.Apps().Insert(app)
c.Assert(err, gocheck.IsNil)
defer s.conn.Apps().Remove(bson.M{"name": app.Name})
c.Assert(err, gocheck.IsNil)
s.provisioner.Provision(&app)
defer s.provisioner.Destroy(&app)
app.AddUnits(4)
otherApp := App{Name: app.Name, Units: app.Units}
err = otherApp.RemoveUnits(2)
c.Assert(err, gocheck.IsNil)
ts.Close()
units := s.provisioner.GetUnits(&app)
c.Assert(units, gocheck.HasLen, 3) // when you provision you already have one, so it's 4+1-2 (in provisioner, in app struct we have 2)
c.Assert(units[0].Name, gocheck.Equals, "chemistry/0")
c.Assert(units[1].Name, gocheck.Equals, "chemistry/3")
c.Assert(units[2].Name, gocheck.Equals, "chemistry/4")
err = app.Get()
c.Assert(err, gocheck.IsNil)
c.Assert(app.Framework, gocheck.Equals, "python")
c.Assert(app.Units, gocheck.HasLen, 2)
c.Assert(app.Units[0].Name, gocheck.Equals, "chemistry/3")
c.Assert(app.Units[1].Name, gocheck.Equals, "chemistry/4")
ok := make(chan int8)
go func() {
for _ = range time.Tick(1e3) {
if atomic.LoadInt32(&calls) == 2 {
ok <- 1
return
}
}
}()
select {
case <-ok:
case <-time.After(2e9):
c.Fatal("Did not call service endpoint twice.")
}
}
开发者ID:nedmax,项目名称:tsuru,代码行数:60,代码来源:app_test.go
示例2: TestUnbindRemovesAppFromServiceInstance
func (s *S) TestUnbindRemovesAppFromServiceInstance(c *gocheck.C) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNoContent)
}))
defer ts.Close()
srvc := service.Service{Name: "mysql", Endpoint: map[string]string{"production": ts.URL}}
err := srvc.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": "mysql"})
instance := service.ServiceInstance{
Name: "my-mysql",
ServiceName: "mysql",
Teams: []string{s.team.Name},
Apps: []string{"painkiller"},
}
instance.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"_id": "my-mysql"})
a, err := createTestApp(s.conn, "painkiller", "", []string{s.team.Name}, []app.Unit{{Ip: "10.10.10.10"}})
c.Assert(err, gocheck.IsNil)
defer s.conn.Apps().Remove(bson.M{"name": a.Name})
err = instance.UnbindApp(&a)
c.Assert(err, gocheck.IsNil)
s.conn.ServiceInstances().Find(bson.M{"_id": instance.Name}).One(&instance)
c.Assert(instance.Apps, gocheck.DeepEquals, []string{})
}
开发者ID:nedmax,项目名称:tsuru,代码行数:25,代码来源:bind_test.go
示例3: TestBindUnit
func (s *S) TestBindUnit(c *gocheck.C) {
called := false
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
called = true
w.Write([]byte(`{"DATABASE_USER":"root","DATABASE_PASSWORD":"s3cr3t"}`))
}))
defer ts.Close()
srvc := service.Service{Name: "mysql", Endpoint: map[string]string{"production": ts.URL}}
err := srvc.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": "mysql"})
instance := service.ServiceInstance{Name: "my-mysql", ServiceName: "mysql", Teams: []string{s.team.Name}}
instance.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"_id": "my-mysql"})
a, err := createTestApp(s.conn, "painkiller", "", []string{s.team.Name}, []app.Unit{{Ip: "10.10.10.10"}})
c.Assert(err, gocheck.IsNil)
defer s.conn.Apps().Remove(bson.M{"name": a.Name})
envs, err := instance.BindUnit(&a, a.GetUnits()[0])
c.Assert(err, gocheck.IsNil)
c.Assert(called, gocheck.Equals, true)
expectedEnvs := map[string]string{
"DATABASE_USER": "root",
"DATABASE_PASSWORD": "s3cr3t",
}
c.Assert(envs, gocheck.DeepEquals, expectedEnvs)
}
开发者ID:nedmax,项目名称:tsuru,代码行数:26,代码来源:bind_test.go
示例4: ServiceInstanceStatusHandler
func ServiceInstanceStatusHandler(w http.ResponseWriter, r *http.Request, u *auth.User) error {
// #TODO (flaviamissi) should check if user has access to service
// just call GetServiceInstanceOrError should be enough
siName := r.URL.Query().Get(":instance")
var si service.ServiceInstance
if siName == "" {
return &errors.Http{Code: http.StatusBadRequest, Message: "Service instance name not provided."}
}
conn, err := db.Conn()
if err != nil {
return err
}
defer conn.Close()
err = conn.ServiceInstances().Find(bson.M{"name": siName}).One(&si)
if err != nil {
msg := fmt.Sprintf("Service instance does not exists, error: %s", err.Error())
return &errors.Http{Code: http.StatusInternalServerError, Message: msg}
}
s := si.Service()
var b string
if b, err = s.ProductionEndpoint().Status(&si); err != nil {
msg := fmt.Sprintf("Could not retrieve status of service instance, error: %s", err.Error())
return &errors.Http{Code: http.StatusInternalServerError, Message: msg}
}
b = fmt.Sprintf(`Service instance "%s" is %s`, siName, b)
n, err := w.Write([]byte(b))
if n != len(b) {
return &errors.Http{Code: http.StatusInternalServerError, Message: "Failed to write response body"}
}
return nil
}
开发者ID:nedmax,项目名称:tsuru,代码行数:31,代码来源:service_consumption.go
示例5: TestServicesInstancesHandler
func (s *ConsumptionSuite) TestServicesInstancesHandler(c *gocheck.C) {
srv := service.Service{Name: "redis", Teams: []string{s.team.Name}}
err := srv.Create()
c.Assert(err, gocheck.IsNil)
instance := service.ServiceInstance{
Name: "redis-globo",
ServiceName: "redis",
Apps: []string{"globo"},
Teams: []string{s.team.Name},
}
err = instance.Create()
c.Assert(err, gocheck.IsNil)
request, err := http.NewRequest("GET", "/services/instances", nil)
c.Assert(err, gocheck.IsNil)
recorder := httptest.NewRecorder()
err = ServicesInstancesHandler(recorder, request, s.user)
c.Assert(err, gocheck.IsNil)
body, err := ioutil.ReadAll(recorder.Body)
c.Assert(err, gocheck.IsNil)
var instances []service.ServiceModel
err = json.Unmarshal(body, &instances)
c.Assert(err, gocheck.IsNil)
expected := []service.ServiceModel{
{Service: "redis", Instances: []string{"redis-globo"}},
}
c.Assert(instances, gocheck.DeepEquals, expected)
}
开发者ID:bardusco,项目名称:tsuru,代码行数:27,代码来源:service_consumption_test.go
示例6: TestHandleBindServiceMessage
func (s *S) TestHandleBindServiceMessage(c *gocheck.C) {
called := false
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
called = true
w.Write([]byte(`{"DATABASE_USER":"root","DATABASE_PASSWORD":"s3cr3t"}`))
}))
defer ts.Close()
srvc := service.Service{Name: "mysql", Endpoint: map[string]string{"production": ts.URL}}
err := srvc.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": "mysql"})
instance := service.ServiceInstance{Name: "my-mysql", ServiceName: "mysql", Teams: []string{s.team.Name}}
instance.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"_id": "my-mysql"})
a := App{
Name: "nemesis",
Units: []Unit{
{
Name: "i-00800",
State: "started",
Machine: 19,
},
},
}
err = s.conn.Apps().Insert(a)
c.Assert(err, gocheck.IsNil)
defer s.conn.Apps().Remove(bson.M{"name": a.Name})
err = instance.AddApp(a.Name)
c.Assert(err, gocheck.IsNil)
err = s.conn.ServiceInstances().Update(bson.M{"name": instance.Name}, instance)
c.Assert(err, gocheck.IsNil)
message := queue.Message{Action: BindService, Args: []string{a.Name, a.Units[0].Name}}
handle(&message)
c.Assert(called, gocheck.Equals, true)
}
开发者ID:nightshade427,项目名称:tsuru,代码行数:35,代码来源:queue_test.go
示例7: 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)
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:26,代码来源:service_consumption_test.go
示例8: TestServicesInstancesHandlerReturnsOnlyServicesThatTheUserHasAccess
func (s *ConsumptionSuite) TestServicesInstancesHandlerReturnsOnlyServicesThatTheUserHasAccess(c *gocheck.C) {
u := &auth.User{Email: "[email protected]", Password: "123"}
err := u.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Users().Remove(bson.M{"email": u.Email})
srv := service.Service{Name: "redis", IsRestricted: true}
err = s.conn.Services().Insert(srv)
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": "redis"})
instance := service.ServiceInstance{
Name: "redis-globo",
ServiceName: "redis",
Apps: []string{"globo"},
}
err = instance.Create()
c.Assert(err, gocheck.IsNil)
request, err := http.NewRequest("GET", "/services/instances", nil)
c.Assert(err, gocheck.IsNil)
recorder := httptest.NewRecorder()
err = ServicesInstancesHandler(recorder, request, u)
c.Assert(err, gocheck.IsNil)
body, err := ioutil.ReadAll(recorder.Body)
c.Assert(err, gocheck.IsNil)
var instances []service.ServiceModel
err = json.Unmarshal(body, &instances)
c.Assert(err, gocheck.IsNil)
c.Assert(instances, gocheck.DeepEquals, []service.ServiceModel{})
}
开发者ID:bardusco,项目名称:tsuru,代码行数:28,代码来源:service_consumption_test.go
示例9: TestRemoveServiceInstanceHandler
func (s *ConsumptionSuite) TestRemoveServiceInstanceHandler(c *gocheck.C) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
}))
defer ts.Close()
se := service.Service{Name: "foo", Endpoint: map[string]string{"production": ts.URL}}
err := se.Create()
defer s.conn.Services().Remove(bson.M{"_id": se.Name})
c.Assert(err, gocheck.IsNil)
si := service.ServiceInstance{Name: "foo-instance", ServiceName: "foo", Teams: []string{s.team.Name}}
err = si.Create()
c.Assert(err, gocheck.IsNil)
recorder, request := makeRequestToRemoveInstanceHandler("foo-instance", c)
err = removeServiceInstance(recorder, request, s.token)
c.Assert(err, gocheck.IsNil)
b, err := ioutil.ReadAll(recorder.Body)
c.Assert(err, gocheck.IsNil)
c.Assert(string(b), gocheck.Equals, "service instance successfuly removed")
n, err := s.conn.ServiceInstances().Find(bson.M{"name": "foo-instance"}).Count()
c.Assert(err, gocheck.IsNil)
c.Assert(n, gocheck.Equals, 0)
action := testing.Action{
Action: "remove-service-instance",
User: s.user.Email,
Extra: []interface{}{"foo-instance"},
}
c.Assert(action, testing.IsRecorded)
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:28,代码来源:service_consumption_test.go
示例10: TestUnbindUnit
func (s *S) TestUnbindUnit(c *gocheck.C) {
called := false
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
called = true
w.WriteHeader(http.StatusNoContent)
}))
defer ts.Close()
srvc := service.Service{Name: "mysql", Endpoint: map[string]string{"production": ts.URL}}
err := srvc.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": "mysql"})
instance := service.ServiceInstance{
Name: "my-mysql",
ServiceName: "mysql",
Teams: []string{s.team.Name},
Apps: []string{"painkiller"},
}
instance.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"_id": "my-mysql"})
a, err := createTestApp(s.conn, "painkiller", "", []string{s.team.Name}, []app.Unit{{Ip: "10.10.10.10"}})
c.Assert(err, gocheck.IsNil)
defer s.conn.Apps().Remove(bson.M{"name": a.Name})
err = instance.UnbindUnit(a.GetUnits()[0])
c.Assert(err, gocheck.IsNil)
c.Assert(called, gocheck.Equals, true)
}
开发者ID:nedmax,项目名称:tsuru,代码行数:26,代码来源:bind_test.go
示例11: TestGetServiceInstanceOrError
func (s *ConsumptionSuite) TestGetServiceInstanceOrError(c *gocheck.C) {
si := service.ServiceInstance{Name: "foo", Teams: []string{s.team.Name}}
err := si.Create()
c.Assert(err, gocheck.IsNil)
rSi, err := getServiceInstanceOrError("foo", s.user)
c.Assert(err, gocheck.IsNil)
c.Assert(rSi.Name, gocheck.Equals, si.Name)
}
开发者ID:bardusco,项目名称:tsuru,代码行数:8,代码来源:service_consumption_test.go
示例12: TestUnbindRemovesEnvironmentVariableFromApp
func (s *S) TestUnbindRemovesEnvironmentVariableFromApp(c *gocheck.C) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusNoContent)
}))
defer ts.Close()
srvc := service.Service{Name: "mysql", Endpoint: map[string]string{"production": ts.URL}}
err := srvc.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": "mysql"})
instance := service.ServiceInstance{
Name: "my-mysql",
ServiceName: "mysql",
Teams: []string{s.team.Name},
Apps: []string{"painkiller"},
}
err = instance.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.ServiceInstances().Remove(bson.M{"_id": "my-mysql"})
a := app.App{
Name: "painkiller",
Teams: []string{s.team.Name},
Env: map[string]bind.EnvVar{
"DATABASE_HOST": {
Name: "DATABASE_HOST",
Value: "arrea",
Public: false,
InstanceName: instance.Name,
},
"MY_VAR": {
Name: "MY_VAR",
Value: "123",
},
},
Units: []app.Unit{
{
Ip: "10.10.10.10",
},
},
}
err = s.conn.Apps().Insert(&a)
c.Assert(err, gocheck.IsNil)
defer s.conn.Apps().Remove(bson.M{"name": a.Name})
err = instance.UnbindApp(&a)
c.Assert(err, gocheck.IsNil)
newApp := app.App{Name: a.Name}
err = newApp.Get()
c.Assert(err, gocheck.IsNil)
expected := map[string]bind.EnvVar{
"MY_VAR": {
Name: "MY_VAR",
Value: "123",
},
}
c.Assert(a.Env, gocheck.DeepEquals, expected)
}
开发者ID:nedmax,项目名称:tsuru,代码行数:55,代码来源:bind_test.go
示例13: TestBindDoesNotFailsAndStopsWhenAppDoesNotHaveAnUnit
func (s *S) TestBindDoesNotFailsAndStopsWhenAppDoesNotHaveAnUnit(c *gocheck.C) {
instance := service.ServiceInstance{Name: "my-mysql", ServiceName: "mysql", Teams: []string{s.team.Name}}
err := instance.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.ServiceInstances().Remove(bson.M{"name": "my-mysql"})
a, err := createTestApp(s.conn, "painkiller", "", []string{s.team.Name}, []app.Unit{})
c.Assert(err, gocheck.IsNil)
defer s.conn.Apps().Remove(bson.M{"name": a.Name})
err = instance.BindApp(&a)
c.Assert(err, gocheck.IsNil)
}
开发者ID:nkts,项目名称:golang-devops-stuff,代码行数:11,代码来源:bind_test.go
示例14: TestRemoveServiceHandlerWithoutPermissionShouldReturn401
func (s *ConsumptionSuite) TestRemoveServiceHandlerWithoutPermissionShouldReturn401(c *gocheck.C) {
se := service.Service{Name: "foo"}
err := se.Create()
defer s.conn.Services().Remove(bson.M{"_id": se.Name})
c.Assert(err, gocheck.IsNil)
si := service.ServiceInstance{Name: "foo-instance", ServiceName: "foo"}
err = si.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"name": si.Name})
c.Assert(err, gocheck.IsNil)
recorder, request := makeRequestToRemoveInstanceHandler("foo-instance", c)
err = RemoveServiceInstanceHandler(recorder, request, s.user)
c.Assert(err, gocheck.ErrorMatches, "^This user does not have access to this service instance$")
}
开发者ID:bardusco,项目名称:tsuru,代码行数:13,代码来源:service_consumption_test.go
示例15: TestRemoveServiceHandlerWIthAssociatedAppsShouldFailAndReturnError
func (s *ConsumptionSuite) TestRemoveServiceHandlerWIthAssociatedAppsShouldFailAndReturnError(c *gocheck.C) {
se := service.Service{Name: "foo"}
err := se.Create()
defer s.conn.Services().Remove(bson.M{"_id": se.Name})
c.Assert(err, gocheck.IsNil)
si := service.ServiceInstance{Name: "foo-instance", ServiceName: "foo", Apps: []string{"foo-bar"}, Teams: []string{s.team.Name}}
err = si.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"name": si.Name})
c.Assert(err, gocheck.IsNil)
recorder, request := makeRequestToRemoveInstanceHandler("foo-instance", c)
err = RemoveServiceInstanceHandler(recorder, request, s.user)
c.Assert(err, gocheck.ErrorMatches, "^This service instance is bound to at least one app. Unbind them before removing it$")
}
开发者ID:bardusco,项目名称:tsuru,代码行数:13,代码来源:service_consumption_test.go
示例16: TestRemoveServiceHandlerWithoutPermissionShouldReturn401
func (s *ConsumptionSuite) TestRemoveServiceHandlerWithoutPermissionShouldReturn401(c *gocheck.C) {
se := service.Service{Name: "foo"}
err := se.Create()
defer s.conn.Services().Remove(bson.M{"_id": se.Name})
c.Assert(err, gocheck.IsNil)
si := service.ServiceInstance{Name: "foo-instance", ServiceName: "foo"}
err = si.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"name": si.Name})
c.Assert(err, gocheck.IsNil)
recorder, request := makeRequestToRemoveInstanceHandler("foo-instance", c)
err = removeServiceInstance(recorder, request, s.token)
c.Assert(err.Error(), gocheck.Equals, service.ErrAccessNotAllowed.Error())
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:13,代码来源:service_consumption_test.go
示例17: TestBindAppFailsWhenEndpointIsDown
func (s *S) TestBindAppFailsWhenEndpointIsDown(c *gocheck.C) {
srvc := service.Service{Name: "mysql", Endpoint: map[string]string{"production": ""}}
err := srvc.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"_id": "mysql"})
instance := service.ServiceInstance{Name: "my-mysql", ServiceName: "mysql", Teams: []string{s.team.Name}}
instance.Create()
defer s.conn.ServiceInstances().Remove(bson.M{"name": "my-mysql"})
a, err := createTestApp(s.conn, "painkiller", "", []string{s.team.Name}, []app.Unit{{Ip: "10.10.10.10"}})
c.Assert(err, gocheck.IsNil)
defer s.conn.Apps().Remove(bson.M{"name": a.Name})
err = instance.BindApp(&a)
c.Assert(err, gocheck.NotNil)
}
开发者ID:nkts,项目名称:golang-devops-stuff,代码行数:14,代码来源:bind_test.go
示例18: CreateInstanceHandler
func CreateInstanceHandler(w http.ResponseWriter, r *http.Request, u *auth.User) error {
log.Print("Receiving request to create a service instance")
b, err := ioutil.ReadAll(r.Body)
if err != nil {
log.Print("Got error while reading request body:")
log.Print(err.Error())
return &errors.Http{Code: http.StatusInternalServerError, Message: err.Error()}
}
var sJson map[string]string
err = json.Unmarshal(b, &sJson)
if err != nil {
log.Print("Got a problem while unmarshalling request's json:")
log.Print(err.Error())
return &errors.Http{Code: http.StatusInternalServerError, Message: err.Error()}
}
var s service.Service
err = validateInstanceForCreation(&s, sJson, u)
if err != nil {
log.Print("Got error while validation:")
log.Print(err.Error())
return err
}
var teamNames []string
teams, err := u.Teams()
if err != nil {
return err
}
for _, t := range teams {
if s.HasTeam(&t) || !s.IsRestricted {
teamNames = append(teamNames, t.Name)
}
}
si := service.ServiceInstance{
Name: sJson["name"],
ServiceName: sJson["service_name"],
Teams: teamNames,
}
if err = s.ProductionEndpoint().Create(&si); err != nil {
log.Print("Error while calling create action from service api.")
log.Print(err.Error())
return err
}
err = si.Create()
if err != nil {
return err
}
fmt.Fprint(w, "success")
return nil
}
开发者ID:nedmax,项目名称:tsuru,代码行数:49,代码来源:service_consumption.go
示例19: TestServicesInstancesHandlerFilterInstancesPerServiceIncludingServicesThatDoesNotHaveInstances
func (s *ConsumptionSuite) TestServicesInstancesHandlerFilterInstancesPerServiceIncludingServicesThatDoesNotHaveInstances(c *gocheck.C) {
u := &auth.User{Email: "[email protected]", Password: "123"}
err := u.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Users().Remove(bson.M{"email": u.Email})
serviceNames := []string{"redis", "mysql", "pgsql", "memcached"}
defer s.conn.Services().RemoveAll(bson.M{"name": bson.M{"$in": serviceNames}})
defer s.conn.ServiceInstances().RemoveAll(bson.M{"service_name": bson.M{"$in": serviceNames}})
for _, name := range serviceNames {
srv := service.Service{Name: name, Teams: []string{s.team.Name}}
err = srv.Create()
c.Assert(err, gocheck.IsNil)
instance := service.ServiceInstance{
Name: srv.Name + "1",
ServiceName: srv.Name,
Teams: []string{s.team.Name},
}
err = instance.Create()
c.Assert(err, gocheck.IsNil)
instance = service.ServiceInstance{
Name: srv.Name + "2",
ServiceName: srv.Name,
Teams: []string{s.team.Name},
}
err = instance.Create()
}
srv := service.Service{Name: "oracle", Teams: []string{s.team.Name}}
err = srv.Create()
c.Assert(err, gocheck.IsNil)
defer s.conn.Services().Remove(bson.M{"name": "oracle"})
request, err := http.NewRequest("GET", "/services/instances", nil)
c.Assert(err, gocheck.IsNil)
recorder := httptest.NewRecorder()
err = ServicesInstancesHandler(recorder, request, s.user)
c.Assert(err, gocheck.IsNil)
body, err := ioutil.ReadAll(recorder.Body)
c.Assert(err, gocheck.IsNil)
var instances []service.ServiceModel
err = json.Unmarshal(body, &instances)
c.Assert(err, gocheck.IsNil)
expected := []service.ServiceModel{
{Service: "redis", Instances: []string{"redis1", "redis2"}},
{Service: "mysql", Instances: []string{"mysql1", "mysql2"}},
{Service: "pgsql", Instances: []string{"pgsql1", "pgsql2"}},
{Service: "memcached", Instances: []string{"memcached1", "memcached2"}},
{Service: "oracle", Instances: []string(nil)},
}
c.Assert(instances, gocheck.DeepEquals, expected)
}
开发者ID:bardusco,项目名称:tsuru,代码行数:49,代码来源:service_consumption_test.go
示例20: 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)
}
开发者ID:richardjoo,项目名称:tsuru,代码行数:16,代码来源:service_consumption_test.go
注:本文中的github.com/globocom/tsuru/service.ServiceInstance类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论