Expect(handler).To(HaveAllRequestsCalled()) }) }) Describe("updating applications", func() { It("makes the right request", func() { ts, handler, repo := createAppRepo([]testnet.TestRequest{updateApplicationRequest}) defer ts.Close() app := models.Application{} app.GUID = "my-app-guid" app.Name = "my-cool-app" app.BuildpackURL = "buildpack-url" app.Command = "some-command" app.HealthCheckType = "none" app.Memory = 2048 app.InstanceCount = 3 app.Stack = &models.Stack{GUID: "some-stack-guid"} app.SpaceGUID = "some-space-guid" app.State = "started" app.DiskQuota = 512 Expect(app.EnvironmentVars).To(BeNil()) updatedApp, apiErr := repo.Update(app.GUID, app.ToParams()) Expect(handler).To(HaveAllRequestsCalled()) Expect(apiErr).NotTo(HaveOccurred()) Expect(updatedApp.Command).To(Equal("some-command")) Expect(updatedApp.DetectedStartCommand).To(Equal("detected command")) Expect(updatedApp.Name).To(Equal("my-cool-app")) Expect(updatedApp.GUID).To(Equal("my-cool-app-guid"))
}, }} 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}
}) Context("when there is an error getting the app summary", func() { BeforeEach(func() { appSummaryRepo.GetSummaryReturns(models.Application{}, errors.New("get-summary-err")) }) It("prints an error", func() { Expect(runCLIErr).To(HaveOccurred()) Expect(runCLIErr.Error()).To(Equal("Error getting application summary: get-summary-err")) }) }) Context("when getting the app summary succeeds", func() { BeforeEach(func() { application.Memory = 1024 application.InstanceCount = 2 application.StackGUID = "the-stack-guid" appSummaryRepo.GetSummaryReturns(application, nil) }) It("sets memory", func() { Expect(runCLIErr).NotTo(HaveOccurred()) Expect(fakeManifest.MemoryCallCount()).To(Equal(1)) name, memory := fakeManifest.MemoryArgsForCall(0) Expect(name).To(Equal("app-name")) Expect(memory).To(Equal(int64(1024))) }) It("sets instances", func() { Expect(runCLIErr).NotTo(HaveOccurred())