requirementsFactory.Application = app args := []string{"my-app"} callStart(args) 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() { appRepo = &testApplication.FakeApplicationRepository{} appRepo.ReadReturns.App = defaultAppForStart appInstancesRepo = &testAppInstanaces.FakeAppInstancesRepository{} oldLogsRepo.TailLogsForReturns(errors.New("Ooops")) logRepo.TailNoaaLogsForReturns(errors.New("Ooops")) requirementsFactory.Application = defaultAppForStart callStart([]string{"my-app"}) Expect(ui.Outputs).To(ContainSubstrings( []string{"error tailing logs"}, []string{"Ooops"}, )) }) }) })
Expect(requirementsFactory.ApplicationName).To(Equal("my-app")) // appGuid, _, _ := noaaRepo.TailNoaaLogsForArgsForCall(0) appGuid, _, _ := oldLogsRepo.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() { // noaaRepo.TailNoaaLogsForReturns(errors.NewInvalidSSLCert("https://example.com", "it don't work good")) oldLogsRepo.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() { // noaaRepo.RecentLogsForReturns(nil, errors.NewInvalidSSLCert("https://example.com", "how does SSL work???")) oldLogsRepo.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"},
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"}, )) }) }) })