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"},
args := []string{"my-app"} ui := callStart(args, config, requirementsFactory, displayApp, appRepo, appInstancesRepo, logRepo) Expect(ui.Outputs).To(ContainSubstrings([]string{"my-app", "is already started"})) Expect(appRepo.UpdateAppGuid).To(Equal("")) }) It("tells the user when connecting to the log server fails", func() { configRepo := testconfig.NewRepositoryWithDefaults() displayApp := &testcmd.FakeAppDisplayer{} appRepo := &testApplication.FakeApplicationRepository{} appRepo.ReadReturns.App = defaultAppForStart appInstancesRepo := &testAppInstanaces.FakeAppInstancesRepository{} logRepo.TailLogsForReturns(errors.New("Ooops")) requirementsFactory.Application = defaultAppForStart ui := callStart([]string{"my-app"}, configRepo, requirementsFactory, displayApp, appRepo, appInstancesRepo, logRepo) Expect(ui.Outputs).To(ContainSubstrings( []string{"error tailing logs"}, []string{"Ooops"}, )) }) }) })