repo.CreateRestageRequest("some-cool-app-guid") 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"))
Context("when application is not found", func() { It("Fails", func() { appRequirement := new(requirementsfakes.FakeApplicationRequirement) appRequirement.ExecuteReturns(errors.New("no app")) requirementsFactory.NewApplicationRequirementReturns(appRequirement) Expect(runCommand("non-exist-app")).To(BeFalse()) }) }) Context("when application exists", func() { BeforeEach(func() { app := models.Application{} app.Name = "my-app" app.GUID = "my-app-guid" app.HealthCheckType = "port" applicationReq := new(requirementsfakes.FakeApplicationRequirement) applicationReq.GetApplicationReturns(app) requirementsFactory.NewApplicationRequirementReturns(applicationReq) }) It("shows the health_check_type", func() { runCommand("my-app") Expect(ui.Outputs()).To(ContainSubstrings([]string{"Getting", "my-app", "health_check_type"})) Expect(ui.Outputs()).To(ContainSubstrings([]string{"port"})) }) }) })
}) }) Describe("setting health_check_type", func() { var ( app models.Application ) BeforeEach(func() { requirementsFactory.NewLoginRequirementReturns(requirements.Passing{}) requirementsFactory.NewTargetedSpaceRequirementReturns(requirements.Passing{}) app = models.Application{} app.Name = "my-app" app.GUID = "my-app-guid" app.HealthCheckType = "none" applicationReq := new(requirementsfakes.FakeApplicationRequirement) applicationReq.GetApplicationReturns(app) requirementsFactory.NewApplicationRequirementReturns(applicationReq) }) Context("when health_check_type is already set to the desired state", func() { It("notifies the user", func() { runCommand("my-app", "none") Expect(ui.Outputs()).To(ContainSubstrings([]string{"my-app", "already set to 'none'"})) }) }) Context("Updating health_check_type when not already set to the desired state", func() {