[]string{"OK"}, )) }) It("starts an app, when given the app's name", func() { ui, appRepo, _ := startAppWithInstancesAndErrors(displayApp, defaultAppForStart, requirementsFactory) Expect(ui.Outputs).To(ContainSubstrings( []string{"my-app", "my-org", "my-space", "my-user"}, []string{"OK"}, []string{"0 of 2 instances running", "2 starting"}, []string{"started"}, )) Expect(requirementsFactory.ApplicationName).To(Equal("my-app")) appGUID, _ := appRepo.UpdateArgsForCall(0) Expect(appGUID).To(Equal("my-app-guid")) Expect(displayApp.AppToDisplay).To(Equal(defaultAppForStart)) }) It("displays the command start command instead of the detected start command when set", func() { defaultAppForStart.Command = "command start command" defaultAppForStart.DetectedStartCommand = "detected start command" ui, appRepo, _ = startAppWithInstancesAndErrors(displayApp, defaultAppForStart, requirementsFactory) appRepo.GetAppReturns(defaultAppForStart, nil) Expect(appRepo.ReadCallCount()).To(Equal(1)) Expect(ui.Outputs).To(ContainSubstrings( []string{"App my-app was started using this command `command start command`"}, )) })
Context("Updating enable_ssh when not already set to false", func() { Context("Update successfully", func() { BeforeEach(func() { app = models.Application{} app.Name = "my-app" app.Guid = "my-app-guid" app.EnableSsh = false appRepo.UpdateReturns(app, nil) }) It("updates the app's enable_ssh", func() { runCommand("my-app") Ω(appRepo.UpdateCallCount()).To(Equal(1)) appGUID, params := appRepo.UpdateArgsForCall(0) Expect(appGUID).To(Equal("my-app-guid")) Ω(*params.EnableSsh).To(BeFalse()) Ω(ui.Outputs).To(ContainSubstrings([]string{"Disabling ssh support for 'my-app'"})) Ω(ui.Outputs).To(ContainSubstrings([]string{"OK"})) }) }) Context("Update fails", func() { It("notifies user of any api error", func() { appRepo.UpdateReturns(models.Application{}, errors.New("Error updating app.")) runCommand("my-app") Ω(appRepo.UpdateCallCount()).To(Equal(1)) Ω(ui.Outputs).To(ContainSubstrings( []string{"FAILED"},