func testDisplayingAppSummaryWithErrorCode(errorCode string) { reqApp := models.Application{} reqApp.Name = "my-app" reqApp.Guid = "my-app-guid" domain3 := models.DomainFields{} domain3.Name = "example.com" domain4 := models.DomainFields{} domain4.Name = "example.com" route1 := models.RouteSummary{} route1.Host = "my-app" route1.Domain = domain3 route2 := models.RouteSummary{} route2.Host = "foo" route2.Domain = domain4 routes := []models.RouteSummary{ route1, route2, } app := models.ApplicationFields{} app.State = "stopped" app.InstanceCount = 2 app.RunningInstances = 0 app.Memory = 256 application := models.Application{} application.ApplicationFields = app application.Routes = routes appSummaryRepo := &testapi.FakeAppSummaryRepo{GetSummarySummary: application, GetSummaryErrorCode: errorCode} appInstancesRepo := &testapi.FakeAppInstancesRepo{} reqFactory := &testreq.FakeReqFactory{LoginSuccess: true, TargetedSpaceSuccess: true, Application: reqApp} ui := callApp([]string{"my-app"}, reqFactory, appSummaryRepo, appInstancesRepo) Expect(appSummaryRepo.GetSummaryAppGuid).To(Equal("my-app-guid")) Expect(appInstancesRepo.GetInstancesAppGuid).To(Equal("my-app-guid")) testassert.SliceContains(ui.Outputs, testassert.Lines{ {"Showing health and status", "my-app", "my-org", "my-space", "my-user"}, {"state", "stopped"}, {"instances", "0/2"}, {"usage", "256M x 2 instances"}, {"urls", "my-app.example.com, foo.example.com"}, {"no running instances"}, }) }
func makeAppWithRoute(appName string) models.Application { application := models.Application{} application.Name = appName application.Guid = "app-guid" domain := models.DomainFields{} domain.Name = "example.com" route := models.RouteSummary{Host: "foo", Domain: domain} secondRoute := models.RouteSummary{Host: appName, Domain: domain} application.State = "started" application.InstanceCount = 2 application.RunningInstances = 2 application.Memory = 256 application.Routes = []models.RouteSummary{route, secondRoute} return application }
domain3.Name = "cfapps.io" route3 := models.RouteSummary{} route3.Host = "app2" route3.Domain = domain3 app2Routes := []models.RouteSummary{route3} app := models.Application{} app.Name = "Application-1" app.State = "started" app.RunningInstances = 1 app.InstanceCount = 1 app.Memory = 512 app.DiskQuota = 1024 app.Routes = app1Routes app2 := models.Application{} app2.Name = "Application-2" app2.State = "started" app2.RunningInstances = 1 app2.InstanceCount = 2 app2.Memory = 256 app2.DiskQuota = 1024 app2.Routes = app2Routes apps := []models.Application{app, app2} appSummaryRepo := &testapi.FakeAppSummaryRepo{ GetSummariesInCurrentSpaceApps: apps, }
appRepo.ReadApp = stoppedApp appRepo.UpdateAppResult = stoppedApp callPush("stopped-app") Expect(stopper.AppToStop.Guid).To(Equal("")) }) It("updates the app if it already exists", func() { existingRoute := models.RouteSummary{} existingRoute.Host = "existing-app" existingApp := models.Application{} existingApp.Name = "existing-app" existingApp.Guid = "existing-app-guid" existingApp.Routes = []models.RouteSummary{existingRoute} appRepo.ReadApp = existingApp stack := models.Stack{} stack.Name = "differentStack" stack.Guid = "differentStack-guid" stackRepo.FindByNameStack = stack callPush( "-c", "different start command", "-i", "10", "-m", "1G", "-b", "https://github.com/heroku/heroku-buildpack-different.git", "-s", "differentStack", "existing-app",
It("does not stop the app when it is already stopped", func() { existingApp.State = "stopped" appRepo.ReadReturns.App = existingApp appRepo.UpdateAppResult = existingApp callPush("existing-app") Expect(stopper.AppToStop.Guid).To(Equal("")) }) It("updates the app", func() { existingRoute := models.RouteSummary{} existingRoute.Host = "existing-app" existingApp.Routes = []models.RouteSummary{existingRoute} appRepo.ReadReturns.App = existingApp appRepo.UpdateAppResult = existingApp stackRepo.FindByNameStack = models.Stack{ Name: "differentStack", Guid: "differentStack-guid", } callPush( "-c", "different start command", "-i", "10", "-m", "1G", "-b", "https://github.com/heroku/heroku-buildpack-different.git", "-s", "differentStack", "existing-app",
defaultStartTimeout = 50 * time.Millisecond ) BeforeEach(func() { defaultAppForStart.Name = "my-app" defaultAppForStart.Guid = "my-app-guid" defaultAppForStart.InstanceCount = 2 domain := models.DomainFields{} domain.Name = "example.com" route := models.RouteSummary{} route.Host = "my-app" route.Domain = domain defaultAppForStart.Routes = []models.RouteSummary{route} instance1 := models.AppInstanceFields{} instance1.State = models.InstanceStarting instance2 := models.AppInstanceFields{} instance2.State = models.InstanceStarting instance3 := models.AppInstanceFields{} instance3.State = models.InstanceRunning instance4 := models.AppInstanceFields{} instance4.State = models.InstanceStarting defaultInstanceReponses = [][]models.AppInstanceFields{ []models.AppInstanceFields{instance1, instance2},
domain := models.DomainFields{} domain.Name = "example.com" route1.Domain = domain route2 := models.RouteSummary{} route2.Host = "foo" domain2 := models.DomainFields{} domain2.Name = "example.com" route2.Domain = domain2 application := models.Application{} application.State = "started" application.InstanceCount = 2 application.RunningInstances = 2 application.Memory = 256 application.Routes = []models.RouteSummary{route1, route2} time1, err := time.Parse("Mon Jan 2 15:04:05 -0700 MST 2006", "Mon Jan 2 15:04:05 -0700 MST 2012") Expect(err).NotTo(HaveOccurred()) time2, err := time.Parse("Mon Jan 2 15:04:05 -0700 MST 2006", "Mon Apr 1 15:04:05 -0700 MST 2012") Expect(err).NotTo(HaveOccurred()) appInstance := models.AppInstanceFields{} appInstance.State = models.InstanceRunning appInstance.Since = time1 appInstance.CpuUsage = 1.0 appInstance.DiskQuota = 1 * formatters.GIGABYTE appInstance.DiskUsage = 32 * formatters.MEGABYTE appInstance.MemQuota = 64 * formatters.MEGABYTE appInstance.MemUsage = 13 * formatters.BYTE