本文整理匯總了Golang中github.com/cloudfoundry/cli/cf/models.Route類的典型用法代碼示例。如果您正苦於以下問題:Golang Route類的具體用法?Golang Route怎麽用?Golang Route使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Route類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: BindRoute
func (routeActor routeActor) BindRoute(app models.Application, route models.Route) error {
if !app.HasRoute(route) {
routeActor.ui.Say(T(
"Binding {{.URL}} to {{.AppName}}...",
map[string]interface{}{
"URL": terminal.EntityNameColor(route.URL()),
"AppName": terminal.EntityNameColor(app.Name),
}),
)
err := routeActor.routeRepo.Bind(route.GUID, app.GUID)
switch err := err.(type) {
case nil:
routeActor.ui.Ok()
routeActor.ui.Say("")
return nil
case errors.HTTPError:
if err.ErrorCode() == errors.InvalidRelation {
return errors.New(T(
"The route {{.URL}} is already in use.\nTIP: Change the hostname with -n HOSTNAME or use --random-route to generate a new route and then push again.",
map[string]interface{}{
"URL": route.URL(),
}),
)
}
}
return err
}
return nil
}
示例2: BindRoute
func (routeActor RouteActor) BindRoute(app models.Application, route models.Route) {
if !app.HasRoute(route) {
routeActor.ui.Say("Binding %s to %s...", terminal.EntityNameColor(route.URL()), terminal.EntityNameColor(app.Name))
apiErr := routeActor.routeRepo.Bind(route.Guid, app.Guid)
switch apiErr := apiErr.(type) {
case nil:
routeActor.ui.Ok()
routeActor.ui.Say("")
return
case errors.HttpError:
if apiErr.ErrorCode() == errors.INVALID_RELATION {
routeActor.ui.Failed("The route %s is already in use.\nTIP: Change the hostname with -n HOSTNAME or use --random-route to generate a new route and then push again.", route.URL())
}
}
routeActor.ui.Failed(apiErr.Error())
}
}
示例3: FindOrCreateRoute
func (routeActor routeActor) FindOrCreateRoute(hostname string, domain models.DomainFields, path string, port int, useRandomPort bool) (models.Route, error) {
var route models.Route
var err error
//if tcp route use random port should skip route lookup
if useRandomPort && domain.RouterGroupType == tcp {
err = new(errors.ModelNotFoundError)
} else {
route, err = routeActor.routeRepo.Find(hostname, domain, path, port)
}
switch err.(type) {
case nil:
routeActor.ui.Say(
T("Using route {{.RouteURL}}",
map[string]interface{}{
"RouteURL": terminal.EntityNameColor(route.URL()),
}),
)
case *errors.ModelNotFoundError:
if useRandomPort && domain.RouterGroupType == tcp {
route, err = routeActor.CreateRandomTCPRoute(domain)
} else {
routeActor.ui.Say(
T("Creating route {{.Hostname}}...",
map[string]interface{}{
"Hostname": terminal.EntityNameColor(domain.URLForHostAndPath(hostname, path, port)),
}),
)
route, err = routeActor.routeRepo.Create(hostname, domain, path, port, false)
}
routeActor.ui.Ok()
routeActor.ui.Say("")
}
return route, err
}
示例4:
})
})
Context("when there are routes in different spaces", func() {
BeforeEach(func() {
routeRepo.ListAllRoutesStub = func(cb func(models.Route) bool) error {
space1 := models.SpaceFields{Name: "space-1"}
space2 := models.SpaceFields{Name: "space-2"}
domain := models.DomainFields{Name: "example.com"}
domain2 := models.DomainFields{Name: "cookieclicker.co"}
app1 := models.ApplicationFields{Name: "dora"}
app2 := models.ApplicationFields{Name: "bora"}
route := models.Route{}
route.Host = "hostname-1"
route.Domain = domain
route.Apps = []models.ApplicationFields{app1}
route.Space = space1
route.ServiceInstance = models.ServiceInstanceFields{
Name: "test-service",
GUID: "service-guid",
}
route2 := models.Route{}
route2.Host = "hostname-2"
route2.Path = "/foo"
route2.Domain = domain2
route2.Apps = []models.ApplicationFields{app1, app2}
route2.Space = space2
示例5:
reqFactory.LoginSuccess = true
})
It("passes requirements when logged in", func() {
_, passed := callDeleteOrphanedRoutes("y", []string{}, reqFactory, routeRepo)
Expect(passed).To(BeTrue())
})
It("passes when confirmation is provided", func() {
var ui *testterm.FakeUI
domain := models.DomainFields{Name: "example.com"}
domain2 := models.DomainFields{Name: "cookieclicker.co"}
app1 := models.ApplicationFields{Name: "dora"}
route := models.Route{}
route.Host = "hostname-1"
route.Domain = domain
route.Apps = []models.ApplicationFields{app1}
route2 := models.Route{}
route2.Guid = "route2-guid"
route2.Host = "hostname-2"
route2.Domain = domain2
routeRepo.Routes = []models.Route{route, route2}
ui, _ = callDeleteOrphanedRoutes("y", []string{}, reqFactory, routeRepo)
Expect(ui.Prompts).To(ContainSubstrings(
[]string{"Really delete orphaned routes"},
示例6:
runCommand("-n", "host", "my-space", "example.com")
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Creating route"},
[]string{"OK"},
[]string{"host.example.com", "already exists"},
))
Expect(routeRepo.CreateInSpaceHost).To(Equal("host"))
Expect(routeRepo.CreateInSpaceDomainGuid).To(Equal("domain-guid"))
Expect(routeRepo.CreateInSpaceSpaceGuid).To(Equal("my-space-guid"))
})
Describe("RouteCreator interface", func() {
It("creates a route, given a domain and space", func() {
createdRoute := models.Route{}
createdRoute.Host = "my-host"
createdRoute.Guid = "my-route-guid"
routeRepo := &testapi.FakeRouteRepository{
CreateInSpaceCreatedRoute: createdRoute,
}
cmd := NewCreateRoute(ui, config, routeRepo)
route, apiErr := cmd.CreateRoute("my-host", requirementsFactory.Domain, requirementsFactory.Space.SpaceFields)
Expect(apiErr).NotTo(HaveOccurred())
Expect(route.Guid).To(Equal(createdRoute.Guid))
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Creating route", "my-host.example.com", "my-org", "my-space", "my-user"},
[]string{"OK"},
))
示例7:
}
Context("when not logged in", func() {
BeforeEach(func() {
requirementsFactory.LoginSuccess = false
})
It("does not pass requirements", func() {
Expect(runCommand("-n", "my-host", "example.com")).To(BeFalse())
})
})
Context("when logged in successfully", func() {
BeforeEach(func() {
requirementsFactory.LoginSuccess = true
route := models.Route{Guid: "route-guid"}
route.Domain = models.DomainFields{
Guid: "domain-guid",
Name: "example.com",
}
routeRepo.FindReturns(route, nil)
})
It("fails with usage when given zero args", func() {
runCommand()
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Incorrect Usage", "Requires an argument"},
))
})
It("does not fail with usage when provided with a domain", func() {
示例8:
})
It("passes requirements when logged in", func() {
_, passed := callDeleteOrphanedRoutes("y", []string{}, requirementsFactory, routeRepo)
Expect(passed).To(BeTrue())
})
It("passes when confirmation is provided", func() {
var ui *testterm.FakeUI
domain := models.DomainFields{Name: "example.com"}
domain2 := models.DomainFields{Name: "cookieclicker.co"}
app1 := models.ApplicationFields{Name: "dora"}
routeRepo.ListRoutesStub = func(cb func(models.Route) bool) error {
route := models.Route{}
route.GUID = "route1-guid"
route.Host = "hostname-1"
route.Domain = domain
route.Apps = []models.ApplicationFields{app1}
route2 := models.Route{}
route2.GUID = "route2-guid"
route2.Host = "hostname-2"
route2.Domain = domain2
cb(route)
cb(route2)
return nil
}
示例9:
It("should fail with usage when provided any arguments", func() {
requirementsFactory.LoginSuccess = true
requirementsFactory.TargetedSpaceSuccess = true
Expect(runCommand("blahblah")).To(BeFalse())
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"Incorrect Usage", "No argument required"},
))
})
})
Context("when there are routes", func() {
BeforeEach(func() {
routeRepo.ListRoutesStub = func(cb func(models.Route) bool) error {
app1 := models.ApplicationFields{Name: "dora"}
route := models.Route{}
route.Host = "hostname-1"
route.Domain = models.DomainFields{Name: "example.com"}
route.Apps = []models.ApplicationFields{app1}
cb(route)
domain2 := models.DomainFields{Name: "cookieclicker.co"}
app2 := models.ApplicationFields{Name: "bora"}
route2 := models.Route{}
route2.Host = "hostname-2"
route2.Path = "/foo"
route2.Domain = domain2
route2.Apps = []models.ApplicationFields{app1, app2}
示例10:
})
})
Describe("when pushing a new app", func() {
BeforeEach(func() {
appRepo.ReadReturns.Error = errors.NewModelNotFoundError("App", "the-app")
zipper.ZipReturns(nil)
zipper.GetZipSizeReturns(9001, nil)
actor.GatherFilesReturns(nil, nil)
actor.UploadAppReturns(nil)
})
Context("when the default route for the app already exists", func() {
BeforeEach(func() {
route := models.Route{}
route.Guid = "my-route-guid"
route.Host = "my-new-app"
route.Domain = domainRepo.ListDomainsForOrgDomains[0]
routeRepo.FindByHostAndDomainReturns.Route = route
})
It("binds to existing routes", func() {
callPush("my-new-app")
Expect(routeRepo.CreatedHost).To(BeEmpty())
Expect(routeRepo.CreatedDomainGuid).To(BeEmpty())
Expect(routeRepo.FindByHostAndDomainCalledWith.Host).To(Equal("my-new-app"))
Expect(routeRepo.BoundAppGuid).To(Equal("my-new-app-guid"))
Expect(routeRepo.BoundRouteGuid).To(Equal("my-route-guid"))
示例11:
package models_test
import (
"github.com/cloudfoundry/cli/cf/models"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("Route", func() {
Describe("URL", func() {
var (
r models.Route
host string
path string
)
AfterEach(func() {
host = ""
path = ""
})
JustBeforeEach(func() {
r = models.Route{
Host: host,
Domain: models.DomainFields{
Name: "the-domain",
},
Path: path,
}
})
示例12:
a.Guid = *params.Name + "-guid"
a.Name = *params.Name
a.State = "stopped"
return a, nil
}
zipper.ZipReturns(nil)
zipper.GetZipSizeReturns(9001, nil)
actor.GatherFilesReturns(nil, true, nil)
actor.UploadAppReturns(nil)
})
Context("when the default route for the app already exists", func() {
BeforeEach(func() {
route := models.Route{}
route.Guid = "my-route-guid"
route.Host = "app-name"
route.Domain = domainRepo.ListDomainsForOrgDomains[0]
routeRepo.FindByHostAndDomainReturns.Route = route
})
It("notifies users about the error actor.GatherFiles() returns", func() {
actor.GatherFilesReturns([]resources.AppFileResource{}, false, errors.New("failed to get file mode"))
callPush("app-name")
Expect(ui.Outputs).To(ContainSubstrings(
[]string{"failed to get file mode"},
))
示例13:
requirementsFactory.LoginSuccess = true
requirementsFactory.TargetedSpaceSuccess = true
Expect(runCommand("blahblah")).To(BeFalse())
Expect(ui.FailedWithUsage).To(BeTrue())
})
})
Context("when there are routes", func() {
BeforeEach(func() {
domain := models.DomainFields{Name: "example.com"}
domain2 := models.DomainFields{Name: "cookieclicker.co"}
app1 := models.ApplicationFields{Name: "dora"}
app2 := models.ApplicationFields{Name: "bora"}
route := models.Route{}
route.Host = "hostname-1"
route.Domain = domain
route.Apps = []models.ApplicationFields{app1}
route2 := models.Route{}
route2.Host = "hostname-2"
route2.Domain = domain2
route2.Apps = []models.ApplicationFields{app1, app2}
routeRepo.Routes = []models.Route{route, route2}
})
It("lists routes", func() {
runCommand()
Expect(ui.Outputs).To(ContainSubstrings(
示例14:
appRepo = &testApplication.FakeApplicationRepository{}
domainRepo = &testapi.FakeDomainRepository{}
sharedDomain := maker.NewSharedDomainFields(maker.Overrides{"name": "foo.cf-app.com", "guid": "foo-domain-guid"})
domainRepo.ListDomainsForOrgDomains = []models.DomainFields{sharedDomain}
//save original command dependences and restore later
OriginalCommandStart = command_registry.Commands.FindCommand("start")
OriginalCommandStop = command_registry.Commands.FindCommand("stop")
OriginalCommandServiceBind = command_registry.Commands.FindCommand("bind-service")
routeRepo = &testapi.FakeRouteRepository{}
routeRepo.CreateStub = func(host string, domain models.DomainFields, path string) (models.Route, error) {
// This never returns an error, which means it isn't tested.
// This is copied from the old route repo fake.
route := models.Route{}
route.Guid = host + "-route-guid"
route.Domain = domain
route.Host = host
route.Path = path
return route, nil
}
stackRepo = &testStacks.FakeStackRepository{}
serviceRepo = &testapi.FakeServiceRepository{}
authRepo = &testapi.FakeAuthenticationRepository{}
wordGenerator = new(testwords.FakeWordGenerator)
wordGenerator.BabbleReturns("random-host")
ui = new(testterm.FakeUI)
configRepo = testconfig.NewRepositoryWithDefaults()
示例15:
It("TestMapRouteRequirements", func() {
routeRepo := &testapi.FakeRouteRepository{}
requirementsFactory := &testreq.FakeReqFactory{LoginSuccess: true}
callMapRoute([]string{"-n", "my-host", "my-app", "my-domain.com"}, requirementsFactory, routeRepo, &testcmd.FakeRouteCreator{})
Expect(testcmd.CommandDidPassRequirements).To(BeTrue())
Expect(requirementsFactory.ApplicationName).To(Equal("my-app"))
Expect(requirementsFactory.DomainName).To(Equal("my-domain.com"))
})
It("TestMapRouteWhenBinding", func() {
domain := models.DomainFields{}
domain.Guid = "my-domain-guid"
domain.Name = "example.com"
route := models.Route{}
route.Guid = "my-route-guid"
route.Host = "foo"
route.Domain = domain
app := models.Application{}
app.Guid = "my-app-guid"
app.Name = "my-app"
routeRepo := &testapi.FakeRouteRepository{}
requirementsFactory := &testreq.FakeReqFactory{LoginSuccess: true, Application: app, Domain: domain}
routeCreator := &testcmd.FakeRouteCreator{ReservedRoute: route}
ui := callMapRoute([]string{"-n", "my-host", "my-app", "my-domain.com"}, requirementsFactory, routeRepo, routeCreator)
Expect(ui.Outputs).To(ContainSubstrings(