Example #1
0
		It("tails the app's logs when no flags are given", func() {
			runCommand("my-app")

			Expect(requirementsFactory.ApplicationName).To(Equal("my-app"))
			appGuid, _, _ := logsRepo.TailLogsForArgsForCall(0)
			Expect(app.Guid).To(Equal(appGuid))
			Expect(ui.Outputs).To(ContainSubstrings(
				[]string{"Connected, tailing logs for app", "my-app", "my-org", "my-space", "my-user"},
				[]string{"Log Line 1"},
			))
		})

		Context("when the loggregator server has an invalid cert", func() {
			Context("when the skip-ssl-validation flag is not set", func() {
				It("fails and informs the user about the skip-ssl-validation flag", func() {
					logsRepo.TailLogsForReturns(errors.NewInvalidSSLCert("https://example.com", "it don't work good"))
					runCommand("my-app")

					Expect(ui.Outputs).To(ContainSubstrings(
						[]string{"Received invalid SSL certificate", "https://example.com"},
						[]string{"TIP"},
					))
				})

				It("informs the user of the error when they include the --recent flag", func() {
					logsRepo.RecentLogsForReturns(nil, errors.NewInvalidSSLCert("https://example.com", "how does SSL work???"))
					runCommand("--recent", "my-app")

					Expect(ui.Outputs).To(ContainSubstrings(
						[]string{"Received invalid SSL certificate", "https://example.com"},
						[]string{"TIP"},
Example #2
0
			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 = &testApplication.FakeApplicationRepository{}
			appRepo.ReadReturns(defaultAppForStart, nil)
			appInstancesRepo = &testAppInstanaces.FakeAppInstancesRepository{}

			logRepo.TailLogsForReturns(errors.New("Ooops"))

			requirementsFactory.Application = defaultAppForStart

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

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