func (resource ApplicationFromSummary) ToModel() models.Application { var app models.Application app.ApplicationFields = resource.ToFields() routes := []models.RouteSummary{} for _, route := range resource.Routes { routes = append(routes, route.ToModel()) } app.Routes = routes services := []models.ServicePlanSummary{} for _, service := range resource.Services { services = append(services, service.ToModel()) } app.Routes = routes app.Services = services return app }
app2Routes := []models.RouteSummary{ { Host: "app2", Domain: models.DomainFields{Name: "cfapps.io"}, }} app := models.Application{} app.Name = "Application-1" app.GUID = "Application-1-guid" app.State = "started" app.RunningInstances = 1 app.InstanceCount = 1 app.Memory = 512 app.DiskQuota = 1024 app.Routes = app1Routes app.AppPorts = []int{8080, 9090} app2 := models.Application{} app2.Name = "Application-2" app2.GUID = "Application-2-guid" app2.State = "started" app2.RunningInstances = 1 app2.InstanceCount = 2 app2.Memory = 256 app2.DiskQuota = 1024 app2.Routes = app2Routes appSummaryRepo.GetSummariesInCurrentSpaceApps = []models.Application{app, app2} deps = commandregistry.NewDependency(os.Stdout, new(tracefakes.FakePrinter), "")
GUID: "route-guid", } expectedApp = models.Application{ ApplicationFields: models.ApplicationFields{ Name: "app-name", GUID: "app-guid", }, } }) Context("when the app has the route", func() { BeforeEach(func() { routeSummary := models.RouteSummary{ GUID: expectedRoute.GUID, } expectedApp.Routes = append(expectedApp.Routes, routeSummary) }) It("does nothing", func() { err := routeActor.BindRoute(expectedApp, expectedRoute) Expect(err).To(BeNil()) Expect(fakeRouteRepository.BindCallCount()).To(Equal(0)) }) }) Context("when the app does not have a route", func() { It("binds the route", func() { err := routeActor.BindRoute(expectedApp, expectedRoute) Expect(err).To(BeNil())
defaultInstanceErrorCodes = []string{"", ""} defaultAppForStart = models.Application{ ApplicationFields: models.ApplicationFields{ Name: "my-app", GUID: "my-app-guid", InstanceCount: 2, PackageState: "STAGED", }, } defaultAppForStart.Routes = []models.RouteSummary{ { Host: "my-app", Domain: models.DomainFields{ Name: "example.com", }, }, } instance1 := models.AppInstanceFields{ State: models.InstanceStarting, } instance2 := models.AppInstanceFields{ State: models.InstanceStarting, } instance3 := models.AppInstanceFields{ State: models.InstanceRunning, }
Expect(runCLIErr).To(HaveOccurred()) Expect(runCLIErr.Error()).To(Equal("Failed to create manifest, unable to parse environment variable: key")) }) }) Context("when the app has routes", func() { BeforeEach(func() { application.Routes = []models.RouteSummary{ { Host: "route-1-host", Domain: models.DomainFields{ Name: "http-domain", }, Path: "path", Port: 0, }, { Host: "", Domain: models.DomainFields{ Name: "tcp-domain", }, Path: "", Port: 123, }, } appSummaryRepo.GetSummaryReturns(application, nil) }) It("sets the domains", func() { Expect(runCLIErr).NotTo(HaveOccurred()) Expect(fakeManifest.RouteCallCount()).To(Equal(2))