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"},
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"}, )) }) }) })