예제 #1
0
		Context("Updating enable_ssh when not already set to true", func() {
			Context("Update successfully", func() {
				BeforeEach(func() {
					app = models.Application{}
					app.Name = "my-app"
					app.GUID = "my-app-guid"
					app.EnableSSH = true

					appRepo.UpdateReturns(app, nil)
				})

				It("updates the app's enable_ssh", func() {
					runCommand("my-app")

					Expect(appRepo.UpdateCallCount()).To(Equal(1))
					appGUID, params := appRepo.UpdateArgsForCall(0)
					Expect(appGUID).To(Equal("my-app-guid"))
					Expect(*params.EnableSSH).To(Equal(true))
					Expect(ui.Outputs).To(ContainSubstrings([]string{"Enabling ssh support for 'my-app'"}))
					Expect(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")

					Expect(appRepo.UpdateCallCount()).To(Equal(1))
					Expect(ui.Outputs).To(ContainSubstrings(
예제 #2
0
파일: start_test.go 프로젝트: yingkitw/cli
		It("warns the user when the app is already running", func() {
			app := models.Application{}
			app.Name = "my-app"
			app.GUID = "my-app-guid"
			app.State = "started"
			appRepo := new(applicationsfakes.FakeApplicationRepository)
			appRepo.ReadReturns(app, nil)

			requirementsFactory.Application = app

			args := []string{"my-app"}
			callStart(args)

			Expect(ui.Outputs).To(ContainSubstrings([]string{"my-app", "is already started"}))

			Expect(appRepo.UpdateCallCount()).To(BeZero())
		})

		It("tells the user when connecting to the log server fails", func() {
			appRepo.ReadReturns(defaultAppForStart, nil)

			logRepo.TailLogsForStub = func(appGUID string, onConnect func(), logChan chan<- logs.Loggable, errChan chan<- error) {
				errChan <- errors.New("Ooops")
			}

			requirementsFactory.Application = defaultAppForStart

			callStart([]string{"my-app"})

			Expect(ui.Outputs).To(ContainSubstrings(
				[]string{"error tailing logs"},